rdlc报表心得

2023-05-16,,

  其他话我就不多说了,我就直入话题。

  这是我第一次做winform报表,应该说是第一次做报表。哈哈.我用的是vs2008,报表工具是reportviewer和rdlc报表文件。 我开始的时候,当然想到第一个入手是,先做一个实例,我是从这里开始下载那个实例, http://wenku.baidu.com/view/97644817cc7931b765ce1526.html  就是利用下班时间来做一遍。 如果想动态绑定的数据的话,我是这样做的。

DataSet ds = material_bll.Getmaterialbyid(filid);//获取数据集的数据
this.reportViewer1.LocalReport.ReportEmbeddedResource = "WindowsFormCase.report1.rdlc";(备注:这个主要是关键,路径不对它会显示一个白板的)
this.reportViewer1.LocalReport.DataSources.Clear();
this.reportViewer1.LocalReport.DataSources.Add(new Microsoft.Reporting.WinForms.ReportDataSource("MySelfDataSet_Get_MetarialByFillint_zhou(这个是数据集名称)", ds.Tables[0]));
this.reportViewer1.RefreshReport();

绑定多个数据集的话,就添加多一句, 

this.reportViewer1.LocalReport.DataSources.Add("数据集名称",获取数据函数)

之后就,如果你看不懂我上面的话,你估计没做过上面我提供给您的链接实例。所以,麻烦做一遍上面的实例。 

      最让我头疼的是,报表的布局问题,一般来说,显示的报表,要以打印浏览为基准。也就是说,浏览的效果是什么样子,打印出来就是什么样子。可是,我调试的时候,那个rdlc总是显示在reportviewer的左侧,我修改了reportviewer的margin啊padding啊,都不得,我郁闷了差不多两天了去,结果,我才发现,reportviewer有一个SetDisplayModel方法,它要在代码才能实现,在reportviewer加载时候,加入这两句,第二句是打印布局的时候以百分百显示。

reportViewer1.SetDisplayMode(DisplayMode.PrintLayout);//修改报表成打印布局模式
reportViewer1.ZoomMode = ZoomMode.Percent;

这样一来,显示布局的时候,rdlc文件就会一直显示在窗体的中间,就好像一张纸张一样的了。注意一点就是,reportviewer要设置成停靠在窗口...最后就是如果超出纸张大小的话,它会跑到下一页,布局会很丑陋。你要根据纸张大小,对rdlc里面的内容,不要太超出了。。设置宽高就可以了。 后面的不懂就,留言吧。我看到了会回复。

《rdlc报表心得.doc》

下载本文的Word格式文档,以方便收藏与打印。