动态报表的方案二——文件方式

N天前写了一篇动态报表的文章,里面所用的方法比较简单,适合建立中规中矩的N行N列的简单报表。(具体请参看http://blog.csdn.net/LYMEGG1984/archive/2010/09/21/5898518.aspx)这段时间在做一些套打的程序时,发现这种方法不行,套打中的表格并不是简单的N行N列,而且需要控制的精度也相对的高,如此一来就不能用传入一个或几个表的方法解决问题了,所以只好另辟出路。

从套打的角度出发,如果可以把这个报表保存为一个模板,打印时调用,填充上要打印的数据,就可以解决大部分问题了。XtraReport报表编辑器里的保存,是可以保存为一个文件的,所以它应该提供了一个从文件加载的方法,这时我们可以发现XtraReport里有一个LoadLayout的方法,可以加载报表文件,再往下我们可以发现它的重载方法是可以从IO.Stream里加载报表文件,也就是说,我们可以进一步的把这个报表模板以二进制的方式保存在数据库里。需要的时候,从数据库调用即可。

这时我们发现还有一个问题,就是填充数据的问题。这个问题就有很多的解决办法。我简单的说说我所用的方法,我的方法是,数据源我还是用一个DataTable传递;在做报表模板的时候,在需要填充数据的控件的Tag属性上,填上数据源上的列名;然后加载模板后稍作处理即可。

因为代码中涉及其他公司的东西,就不能尽数全贴代码,只能贴针对问题贴关键的代码,如果有问题,欢迎讨论!!

加载模板的代码:

 

 

填充数据的方法,这个问题的解决方法有很多,希望大家讨论,提出更好的方法:

 

 

PS:如果你在一个博客名叫笨蛋EGG的163博客看到这篇文章,请不要怀疑,这篇是在163博客首发的,现在搬家转过这里来了。

Flex:Web报表引擎——MyReport 2.3.6.0 + 免Flex开发集成版 release 2.3.6.0 --新增功能:报表编辑器支持打开/报表本地文件功能 --新增功能:单元格垂直合并 --新增功能:报表编辑器,标题行支持单个和多个单元格添加 --修改功能:修改报表编辑器,添加列,删除列功能 --修改功能:修改报表编辑器行编辑效果 --优化样式文件数据量 release 2.3.5.1 --修正Bug:单元格合并时,合并列宽计算错误 release 2.3.5.0 --新增功能:增加报表高度自动递增设置 --新增功能:新增一维码EAN13,EAN8函数:ToEAN13,ToEAN8 --新增功能:新增LenInt函数 --新增功能:表达式引擎支持一元运算符+,-, ! --新增功能:表达式引擎支持字符串定义"",'' --新增功能:打印预览数据筛选 --修改功能:修改统计函数类 --修改功能:修改Fixed,Ceil,Floor,Round函数 --修改功能:修改表达式编辑器函数列表 --修正Bug:报表编辑器删除设计项界面刷新问题 --修正Bug:修改报表右边距界面刷新问题 详情参考:http://blog.csdn.net/hunkcai/archive/2011/04/09/6312603.aspx Web报表引擎: Web上的良好的打印解决方案,WinForm的打印预览体现,报表自动化,支持直接打印,页小计,统计,转成金额大写,一维码显示,图片显示 ,条件样式等功能,满足中国式报表的常见功能需求。 Web报表编辑器: * Web上良好的报表设计用户体现,可视化编辑,支持设计/预览视图撤换。 * 通过下拉框选择,快速设置报表数据的绑定。 * 支持单元格内容格式化(数字,金额,日期等)输出。 * 通过表达式编辑,轻松设计页小计行或页统计行。 * 支持标题高度,行高,列宽拖动编辑,拖放调整顺序等良好操作。 内含: * MyReport报表引擎库文件MyReport.swc。 * MyReport免Flex开发集成版,适用于以传统html构建的系统,希望集成MyReport报表引擎的报表预览、打印和报表设计功能,并且不需要进 行Flex相关的次开发的用户。 * Flex示例工程和.Net示例工程。 * 相关说明文档和示例数据。 注: * Flex示例工程,用Adobe Flash Builder 4开发环境打开,用Flex SDK 4.1进行编译。 * .Net示例工程,用Visual Studio 2010开发环境打开。 * 只需少量工作就能把MyReport整合,获得良好的打印体现和报表设计体现。 * 报表引擎效果图参考:http://blog.csdn.net/hunkcai/archive/2010/01/14/5190898.aspx * 报表编辑器效果图参考:http://blog.csdn.net/hunkcai/archive/2010/04/21/5512031.aspx
相关推荐
Flex:Web报表引擎——MyReport 2.3.0.0 + 免Flex开发集成版 --新增功能:重新设计表达式解析引擎,支持更多函数,运算符,支持运算符函数递归嵌套 --新增功能:重新设计表达式编辑器 --新增功能:新增字体颜色设置 --新增功能:支持条件样式 --修正数个Bug --优化资源占用 详情参考:http://blog.csdn.net/hunkcai/archive/2011/02/13/6182651.aspx Web报表引擎: Web上的良好的打印解决方案,WinForm的打印预览体现,报表自动化,支持直接打印,页小计,统计,转成金额大写,一维码显示,图片 显示,条件样式等功能,满足中国式报表的常见功能需求。 Web报表编辑器: * Web上良好的报表设计用户体现,可视化编辑,支持设计/预览视图撤换。 * 通过下拉框选择,快速设置报表数据的绑定。 * 支持单元格内容格式化(数字,金额,日期等)输出。 * 通过表达式编辑,轻松设计页小计行或页统计行。 * 支持标题高度,行高,列宽拖动编辑,拖放调整顺序等良好操作。 内含: * MyReport报表引擎库文件MyReport.swc。 * MyReport免Flex开发集成版,适用于以传统html构建的系统,希望集成MyReport报表引擎的报表预览、打印和报表设计功能,并且不需 要进行Flex相关的次开发的用户。 * Flex示例工程和.Net示例工程。 * 相关说明文档和示例数据。 注: * Flex示例工程,用Adobe Flash Builder 4开发环境打开,用Flex SDK 4.1进行编译。 * .Net示例工程,用Visual Studio 2010开发环境打开。 * 只需少量工作就能把MyReport整合,获得良好的打印体现和报表设计体现。 * 报表引擎效果图参考:http://blog.csdn.net/hunkcai/archive/2010/01/14/5190898.aspx * 报表编辑器效果图参考:http://blog.csdn.net/hunkcai/archive/2010/04/21/5512031.aspx
<p> 欢迎参加英特尔® OpenVINO™工具套件初级课程 !本课程面向零基础学员,将从AI的基本概念开始,介绍人工智能与视觉应用的相关知识,并且帮助您快速理解英特尔® OpenVINO™工具套件的基本概念以及应用场景。整个课程包含了视频的处理,深度学习的相关知识,人工智能应用的推理加速,以及英特尔® OpenVINO™工具套件的Demo演示。通过本课程的学习,将帮助您快速上手计算机视觉的基本知识和英特尔® OpenVINO™ 工具套件的相关概念。 </p> <p> 为保证您顺利收听课程参与测试获取证书,还请您于<strong>电脑端</strong>进行课程收听学习! </p> <p> 为了便于您更好的学习本次课程,推荐您免费<strong>下载英特尔® OpenVINO™工具套件</strong>,下载地址:https://t.csdnimg.cn/yOf5 </p> <p> 收听课程并完成章节测试,可获得本课程<strong>专属定制证书</strong>,还可参与<strong>福利抽奖</strong>,活动详情:https://bss.csdn.net/m/topic/intel_openvino </p> <p> 8月1日-9月30日,学习完成【初级课程】的小伙伴,可以<span style="color:#FF0000;"><strong>免费学习【中级课程】</strong></span>,中级课程免费学习优惠券将在学完初级课程后的7个工作日内发送至您的账户,您可以在:<a href="https://i.csdn.net/#/wallet/coupon">https://i.csdn.net/#/wallet/coupon</a>查询优惠券情况,请大家报名初级课程后尽快学习哦~ </p> <p> <span style="font-size:12px;">请注意:点击报名即表示您确认您已年满18周岁,并且同意CSDN基于商务需求收集并使用您的个人信息,用于注册OpenVINO™工具套件及其课程。CSDN和英特尔会为您定制最新的科学技术和行业信息,将通过邮件或者短信的形式推送给您,您也可以随时取消订阅不再从CSDN或Intel接收此类信息。 查看更多详细信息请点击CSDN“<a href="https://passport.csdn.net/service">用户服务协议</a>”,英特尔“<a href="https://www.intel.cn/content/www/cn/zh/privacy/intel-privacy-notice.html?_ga=2.83783126.1562103805.1560759984-1414337906.1552367839&elq_cid=1761146&erpm_id=7141654/privacy/us/en/">隐私声明</a>”和“<a href="https://www.intel.cn/content/www/cn/zh/legal/terms-of-use.html?_ga=2.84823001.1188745750.1560759986-1414337906.1552367839&elq_cid=1761146&erpm_id=7141654/privacy/us/en/">使用条款</a>”。</span> </p> <p> <br /> </p>
©️2020 CSDN 皮肤主题: 大白 设计师:CSDN官方博客 返回首页