DevExpress 可自定义报表系统研究
1.简单介绍鉴于产品最终出口或者外卖都需要打印质量保证书。产品质量保证书中应该包含【订货信息】、【产品信息】、【产品质量信息】、【统计信息】。当然考虑到是否会出口,还要考虑本地化。本人感觉,这个本地化可以模仿andriod的本地化 采用配置文件,找专业人员翻译显示信息,然后通过配置文件加载即可。 由于客户要求要实现可配置的质保书模块。因为想到了DEV的GridControl控件 可以对Grid的列和表头进行自定义配置和修改【这里以后会从配置文件默认加载】也就是未来可以通过该处实现本地化。 DevExpress Report 可以将winform 控件 拖入到报表设计模版中【当然我这里是复制】。完成报表设计。2.实现过程 实现过程的问题以及解决方案 1.GridControl的自定义配置 这里就不再解释 主要是通过GridControl的方法和属性完成xml配置信息的存储 2.报表设计完成后,个人感觉比较烦人的问题就是将GridControl实现Report中主细表的绑定效果(即主细循环)。因为当GridControl绑定后 数据源就算固定了。但是在Report中,应该将GridControl设想为类似于Lable的一种控件,当然它不是。 解决方案:在Report已经绑定数据源的情况下,同时自己也情况应该主表和附表的联系。通过该委托或者说事件【Detail.BeforePrint += Detail_BeforePrint】完成GridControl的数据源绑定操作https://images.cnblogs.com/OutliningIndicators/ExpandedBlockStart.gifvoid Detail_BeforePrint(object sender, System.Drawing.Printing.PrintEventArgs e) { xrLabel2.Text = GetCurrentColumnValue("NAME").ToString(); this.gridControl2.DataSource = GetData(GetCurrentColumnValue("NAME").ToString()); }3.子表数据循环为报表【数据源】的记录数量。解决方案:这里将子报表数据源设置为null即可
Detail.BeforePrint += Detail_BeforePrint;
页:
[1]