二次开发 >> 引擎API >> 报表调用 >> 动态修改数据

动态修改数据

顶( )
最后更新日期: 人发表评论 (点击查看)
动态修改数据、二次开发,NewDateDemo
相同表结构,不同数据库,希望通过网络报表连接不同数据库的时候,在同一个网络报表里面可以显示结果,这样要怎样实现呢?
1. 实现原理
通过使用程序网络报表所在类需要继承com.fr.web.reportlet这个抽象类,并且需要实现createReport(ReportletRequest arg0)这个方法,并返回报表对象。对返回的报表对象设置新的数据集,通过putTableData(DSName,tableData)方法,将定义的数据集添加到报表中,从而改变模板数据。DSName是定义的数据集名例如ds1,tableData是调用连接数据集。
2. 实现步骤
2.1 定义程序数据集
程序数据集可以获取到不同数据库里面的值,或者通过java内部查询的结果放到程序数据集里面,再显示到报表上,具体程序数据集的使用,可参考程序数据源文档
2.2 定义程序网络报表
获取的模板1.cpt,使用的数据集ds2,里面连接的数据库表的格式必须要跟我们定义的程序数据集里面的列的名字是匹配的例如Name,Score这样赋值新的数据集,才可以显示结果。
具体代码如下:
2.3 编译生成类文件
在java开发平台中会自动编译,在此不再详述。
2.4 发布并Web预览
将编译后的NewDateDemo.class放到网络报表根目录下,由于该类在包com.fr.demo中,因此存放在WEB-INF\classes\com\fr\demo下,保存后启动服务器,如内置服务器,在浏览器中输入下地址:http://localhost:8075/WebReport/ReportServer?reportlet=com.fr.demo.NewDateDemo,便可以看到效果。
 
 
 
 
   
文明发言,用心评论
 
应用此篇文章,您:
不费力
研究了一会
琢磨了好久
 
查看全部条>>
返回顶部
Copyright©2019 帆软软件有限公司
苏ICP备18065767号-3