开发者论坛

 找回密码
 注册 (请使用非IE浏览器)
查看: 3149|回复: 0

DevExpress 可自定义报表系统研究

[复制链接]

0

精华

3

贡献

22

赞扬

帖子
22
软币
283
在线时间
19 小时
注册时间
2016-6-23
发表于 2018-5-16 17:09:19 | 显示全部楼层 |阅读模式
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的数据源绑定操作
void 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;

评分

参与人数 10赞扬 +10 收起 理由
人性的弱点 + 1
虚伪的人啊 + 1
东再次 + 1 很给力
大懒蛋 + 1
东方秘方 + 1

查看全部评分

回复

使用道具 举报

Archiver|手机版|小黑屋|开发者网 ( 苏ICP备08004430号-2 )
版权所有:南京韵文教育信息咨询有限公司

GMT+8, 2024-12-23 06:28

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表