ReportViewer部分使用总结

  最近winform上使用ReportViewer做报表,因为之前没弄过,所以遇到了很多问题,现在总结一下。

  一、运行环境

   .net环境:4.0

   开发工具:vs2010

二、开发步骤

 第一步,在winform窗体上添加ReportViewer控件作为呈现报表的容器,重新命名为reportViewerTest;

 第二步,利用向导添加MyTestReport.rdlc报表文件;

 第三步,利用向导添加数据集Test.xsd,数据集用来存放报表需要呈现的数据源的格式,在数据集中添加一个用来测试的Student表;

                                                                                         

 第四步,设计MyTestReport报表文件,这里方便测试,只添加一个列表来显示student信息。在添加列表的时候需要绑定在上一步添加的student表,报表绑定的数据源信息可以在【报表数据】里查看。【报表数据】可在【视图】中打开。

             

                                                               

   第五步,在winform页面中为reportViewerTest的属性中指定该报表,或者动态为reportViewerTest指定报表文件,如

               reportViewerTest.LocalReport.ReportEmbeddedResource="报表文件";// 包含命名空间和报表文件名称  如 Test.ReportManage.MyTestReport.rdlc

                动态创建一个datatable,表结构和数据源文件中的student表相同,如

                 DataTable studentDt=new DataTable("Student");

              studentDt.Columns.Add("ID");
              studentDt.Columns.Add("Name");
              studentDt.Columns.Add("Age");
              studentDt.Columns.Add("Sex");

               为studentDt赋值:

               studentDt.Rows.Add("10001", "Jack", 12, "男");
               studentDt.Rows.Add("10002", "Lucy", 11, "女");
               studentDt.Rows.Add("10003", "Jason", 15, "男");
               studentDt.Rows.Add("10004", "Lili", 13, "女");

              将数据表加入报表:

                   reportViewerTest.LocalReport.DataSources.Add(new ReportDataSource("Student",studentDt));//注:这里数据源名称要与上面再报表中定义的数据源名称一致。

      第六步,刷新报表控件。

                     reportViewerTest.RefreshReport();

 

 

     最后,如果报表中有跳转链接,既报表间跳转,需要实现报表控件的Drillthrough事件,报表的相关初始化工作在该事件的方法中实现。

 

posted on 2017-09-27 09:59  挖穿地球😁  阅读(10390)  评论(1编辑  收藏  举报