开发者论坛

 找回密码
 注册 (请使用非IE浏览器)
查看: 6485|回复: 5

[原创]Devexpress XtraReports 系列 2 创建表格报表

[复制链接]

0

精华

935

贡献

260

赞扬

帖子
4122
软币
9948
在线时间
366 小时
注册时间
2013-7-21
发表于 2013-8-27 17:16:16 | 显示全部楼层 |阅读模式
本帖最后由 lhmlyx2723356 于 2013-8-29 17:16 编辑

昨天在论坛中发表了Devexpress XtraReports系列开篇,反响还不错,今天我们继续。
今天的主题是创建表格报表。
首先我们来看看最后实现的效果。Demo最后附上。
QQ截图20130827164931.png

接下来开始讲解如何一步一步做出这个报表:
第一步,创建如上窗体,拉入控件SimpleButton,DocumentViewer,SplitContainerControl,LabelControl,TextEdit,GroupControl,简单布局我就不多说了,跟上篇一样的布局
第二步,创建一个报表文件。如图:
QQ截图20130827165321.png

        在报表中拉入两个XRTable控件,在ReportHeader放置一个,并修改其Text属性如上图,姓名,密码,创建时间,备注。
在Detail区放置一个XRTable。至于对齐,字体修改,相信大家也都能找到相对应的属性去修改。
这里要讲一下报表的隔行换色的属性设置,如图:
选中Detail中的XRTable后,在属性窗口中根据需要设置BackColor属性。
QQ截图20130827165734.png


第三步,我们利用数据库做一张简单的表并输入一些测试值。如图:
QQ截图20130827170140.png   
第四步,数据库表,布局都做好了,接下来我们就来处理相对应的事件了。输入文本框的值,点击按钮把查询出来的数据源绑定到报表中
a,修改报表文件的构造函数,让它在实例化的时候可以接收数据源。
public TableRpt(DataSet ds)//修改构造函数
{
    InitializeComponent();
    this.DataSource = ds;
    this.xrTableCell5.DataBindings.Add("Text", ds, "name");//为单元格绑定数据源中相对应的字段
    this.xrTableCell6.DataBindings.Add("Text", ds, "password");
    this.xrTableCell8.DataBindings.Add("Text", ds, "createdate");
    this.xrTableCell7.DataBindings.Add("Text", ds, "remark");
}
b,获取数据源
private DataSet BindRpt()
     {
         DataSet ds = new DataSet();
         try
         {
             SqlConnection con = new SqlConnection("Data Source=(local);Integrated Security=SSPI;Initial Catalog=ReportDeom");
             SqlDataAdapter adapter;
             con.Open();
             SqlCommand cmd = new SqlCommand("SELECT * FROM TableRptData where name=@name OR @name='' ", con);
             SqlParameter[] paras = new SqlParameter[]{
                 new SqlParameter("@name",txtName.Text.Trim())
             };
             cmd.Parameters.AddRange(paras);
             adapter = new SqlDataAdapter(cmd);
             adapter.Fill(ds, "TableRpt"); ;
             con.Close();
         }
         catch (Exception ex)
         {
             throw ex;
         }
         return ds;
     }

c,单击按钮,绑定数据到报表中
private void btnShowReport_Click(object sender, EventArgs e)
  {
      DataSet ds = BindRpt();
      TableRpt Rpt = new TableRpt(ds);
      this.documentViewer1.DocumentSource = Rpt;
      Rpt.CreateDocument();
  }

到此,报表就表格报表就完成了。
希望对初学者有点帮助。谢谢。
最后又是送福利时间,哈哈。。屌丝们。。。雄起吧。。。

u=959768571,2141457747&fm=120.jpg
http://yunpan.cn/QX2E6mpp6JxH2  访问密码 c8ae
别忘了点赞呀。。。嘿嘿。。您的赞是我最大的动力。。。

评分

参与人数 10贡献 +5 赞扬 +10 收起 理由
mimihouse.info + 1 很给力
kev + 1 赞一个
星期七 + 1 Thanks
乃伊租特。 + 1 赞一个
zggaoshou + 1 很给力

查看全部评分

回复

使用道具 举报

0

精华

310

贡献

70

赞扬

帖子
92
软币
2162
在线时间
261 小时
注册时间
2013-7-5

胡吹海聊

发表于 2013-8-27 17:34:25 | 显示全部楼层
mark mark mark
回复

使用道具 举报

0

精华

0

贡献

0

赞扬

帖子
5
软币
100
在线时间
5 小时
注册时间
2013-8-27
发表于 2013-8-29 16:44:19 | 显示全部楼层
继续看lz,辛苦了
回复

使用道具 举报

0

精华

935

贡献

260

赞扬

帖子
4122
软币
9948
在线时间
366 小时
注册时间
2013-7-21
 楼主| 发表于 2013-8-29 17:03:45 | 显示全部楼层
迷你 发表于 2013-8-29 16:44
继续看lz,辛苦了

兄弟呀,你忘了点赞。。。。为我涨点积分,升LV2啊。。。。
回复

使用道具 举报

0

精华

0

贡献

0

赞扬

帖子
9
软币
84
在线时间
4 小时
注册时间
2013-12-26
发表于 2014-1-22 19:47:10 | 显示全部楼层
你的四列是怎么设置的啊,好像默认的只能添加三列,然后得一列一列添加,是这样的吗?或者还是有其它办法呢?
回复

使用道具 举报

0

精华

0

贡献

0

赞扬

帖子
12
软币
92
在线时间
1 小时
注册时间
2019-4-23
发表于 2019-4-24 10:12:32 | 显示全部楼层
强强强强强强强强!
回复

使用道具 举报

Archiver|手机版|小黑屋|开发者网 ( 苏ICP备08004430号-2 )
版权所有:南京韵文教育信息咨询有限公司

GMT+8, 2024-4-20 10:03

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表