知方号 知方号

winform中使用rdlc报表 rdlc 报表

winform中使用rdlc报表

最新开始学习C#,并且做了个小项目,在使用rdlc报表的时候花了很多时间,现在我简单的记录下我的过程:

1、首先把我把主窗体设计好,如下图,这个不用多说了吧,我要实现的功能是点击打印的时候弹出一个窗体,窗体里面就是rdlc报表,报表的数据就是下图里列表的数据。

2、新建一个PrintForm的窗体,然后在左上角工具箱拖拉一个ReportViewer,如下图:

拉好后就长这样:

3、现在开始来建一个数据集DataSet吧,选中解决方案名称(就是你项目的根目录)右键—添加—新建项,弹出的框如下图,选择 数据—数据集(这个名称要记住,在后面代码中会用到)—添加。

4、上一步添加完成后就是一个空的数据集,在左边工具箱中拖拉DataTable,就是右边这个样子,名字可以改

5、点击这个DataTable右键—添加—列,然后给列修改列名,这个列名是要跟你从数据库中查出来要显示的数据名相同

6、数据集建好后接下来就新建一个rdlc报表,选中解决方案名称右键—添加—新建项—Reporting—报表—添加

添加完成后在左边工具箱中拖拉一个表到报表上

拖完会弹出一个数据集属性框,选择数据源(第三部建的DataSet)—数据集(第四部建的DataTable)

7、现在有了数据源,就可以填充报表了,点击一个空白格右键可以增加列,第一行表头双击就可以输入文字,如果显示乱码,看看右下角字体,我选的微软雅黑就可以显示。第二行是要绑定的数据,鼠标移入每一格,右上角会出现一个图标,点击就能选择你之前在数据集里面设置的值,选好后就是下图这样

8、接下来开始写代码的部分,在主窗体打印按钮双击进去的函数写

private void button3_Click(object sender, EventArgs e) { DataTable dt = new DataTable(); dt = this.global_dt.Copy(); //命名datatable和数据集对应 dt.TableName = "DataTable3"; //创建新得ds,报表页面取数据集值 DataSet ds = new DataSet(); ds.Tables.Add(dt); PrintForm rpe = new PrintForm(ds); rpe.Owner = this; rpe.ShowDialog(); }

9、存放报表的PrintForm窗体代码

public DataSet ds = new DataSet(); public PrintForm(DataSet global_ds) { ds = global_ds; InitializeComponent(); } private void PrintForm_Load(object sender, EventArgs e) { this.reportViewer1.LocalReport.DataSources.Clear(); ReportDataSource rds = new ReportDataSource("DataSet1", ds.Tables[0]); this.reportViewer1.LocalReport.DataSources.Add(rds); this.reportViewer1.LocalReport.ReportEmbeddedResource = "WindowsFormsApplication1.Report1.rdlc";//WindowsFormsApplication1是我的解决方案名称,Report1.rdlc是报表名称 this.reportViewer1.RefreshReport(); }

10、大功告成,这两天做这个我在网上看了挺多的但是觉得挺乱的,对于一个纯新手来说有点难度(当然我也是第一次写博客,不知道大家看得懂不。。。)

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至lizi9903@foxmail.com举报,一经查实,本站将立刻删除。