重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
其他话我就不多说了,我就直入话题。
创新互联建站是由多位在大型网络公司、广告设计公司的优秀设计人员和策划人员组成的一个具有丰富经验的团队,其中包括网站策划、网页美工、网站程序员、网页设计师、平面广告设计师、网络营销人员及形象策划。承接:网站设计制作、成都网站建设、网站改版、网页设计制作、网站建设与维护、网络推广、数据库开发,以高性价比制作企业网站、行业门户平台等全方位的服务。
这是我第一次做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里面的内容,不要太超出了。。设置宽高就可以了。 后面的不懂就,留言吧。我看到了会回复。