实现动态展现报表:2种开发思路
2011-03-03 10:43
387 查看
实现动态展现报表大致有2种开发思路,一是,先使用xmlTexWriter类生成报表文件(.rdl),然后在部署到服务器上,再通过控件展现。二是,通过xmlSerializer类直接从服务器上反序列话读取报表,修改后以编程方式更新报表定义,再序列话到服务器上保存报表,最后通过控件展现。前者的难点在于如何将生成的报表通过编程方式部署到服务器上,且跟后者相比,前者每此修改都要全部生成一遍报表文件,而后者只需修改需要变动的项目,很明显后者的效率比前者高。而后者的难点在于如何从定义报表文件的代码中找出需要更改的项目并更改它。
如果对报表进行详细设计,如添加数据源,参数,数据集,表,图片,仪表,图片,文本框,以及各对象的大小位置,甚至一些个性化的,如颜色,字体,图表样式设置。如果按照方式1直接读XML,改XML,必须找到对应的节点一一修改,可想而知工作量和难度有多大。如果按照方式2,从定义报表文件的海量代码中,找出需要更改的项目难度和工作量也是很大的,不过后来找到了一个快速的方法,虽然不是SDK,但是应该算是最有效,最直接的办法,就是把微软自己的Parser拿过来Parse报表,用对象的方式修改,然后再保存。
1、找到你的Report Server 目录,一般是“C:\Program Files\Microsoft SQL Server\MSRS10.MSSQLSERVER\Reporting Services\ReportServer\bin”,下面有一个Assembly,名字叫“Microsoft.ReportingServices.Designer.Controls.dll”,这就是我们要用的Parser。
2、建一个Project,把这个Assembly加为引用,在程序中加 using Microsoft.ReportingServices.RdlObjectModel
类详细信息请参考:http://technet.microsoft.com/zh-cn/library/microsoft.reportingservices.rdlobjectmodel.aspx
转载:http://www.powerbibbs.com/thread-37-1-1.html
如果对报表进行详细设计,如添加数据源,参数,数据集,表,图片,仪表,图片,文本框,以及各对象的大小位置,甚至一些个性化的,如颜色,字体,图表样式设置。如果按照方式1直接读XML,改XML,必须找到对应的节点一一修改,可想而知工作量和难度有多大。如果按照方式2,从定义报表文件的海量代码中,找出需要更改的项目难度和工作量也是很大的,不过后来找到了一个快速的方法,虽然不是SDK,但是应该算是最有效,最直接的办法,就是把微软自己的Parser拿过来Parse报表,用对象的方式修改,然后再保存。
1、找到你的Report Server 目录,一般是“C:\Program Files\Microsoft SQL Server\MSRS10.MSSQLSERVER\Reporting Services\ReportServer\bin”,下面有一个Assembly,名字叫“Microsoft.ReportingServices.Designer.Controls.dll”,这就是我们要用的Parser。
2、建一个Project,把这个Assembly加为引用,在程序中加 using Microsoft.ReportingServices.RdlObjectModel
类详细信息请参考:http://technet.microsoft.com/zh-cn/library/microsoft.reportingservices.rdlobjectmodel.aspx
转载:http://www.powerbibbs.com/thread-37-1-1.html
相关文章推荐
- 业务开发中动态导出报表的一些思路
- 页面级的业务对象与展现映射封装(一种开发思路与技术实现)
- 使用phantomjs实现highcharts等报表通过邮件发送(本文仅提供完整解决方案和实现思路,完全照搬不去整理代码无法马上得到效果)
- 应用springMVC快速开发PDF/EXCEL报表方案及实现
- 利用javascript实现动态表头、表列的展现
- 如何利用报表工具FineReport实现报表列的动态展示
- iOS开发 - 柱状图动态展现动画
- Highcharts实现图形报表(我主要实现javaweb开发的图形报表)
- 润乾报表实现动态数据源报表及改进
- 基于C# winform企业进销存软件开发(典型权限控制+报表工具+动态加载+多线程+跨数据库访问)
- 通过生成PSR文件,实现动态报表格式
- web开发中添加数据源实现思路
- OAF_开发系列11_实现OAF通过DataBoundValues动态显示表列的左右对齐
- Qt动态多语言的实现(VS2012开发)
- .Net下动态报表生成实现
- C#进行Visio二次开发之动态仿真实现
- Birt API 实现动态参数列报表
- Java从服务器上获取时间动态显示在jsp页面实现思路
- 网站性能优化:动态缩略图技术实现思路
- 再谈如何实现动态增加(选取)报表字段的问题