[Java报表软件—技术知识] 报表finereport根据参数将数据存入不同的数据库
1. 问题描述
客户的用户群体很大,涵盖范围很广,为了数据安全,所以将不同区域的数据存在不同的数据库中。同时考虑到开发工作和后期的维护等,将这些数据的业务在同一张表里显示(这些业务关系一样,在数据库中表的字段都一样)。所以在数据录入时,需要根据用户所在的区域,将用户录入的数据存入不同的数据库表中。
2. 解决思路
在模板中建几个隐藏的按钮控件,分别设置提交事件,触发提交入库,再在工具栏上或者模板中设置自定义按钮,编写js,根据不同的参数触发不同的按钮,实现根据不同的参数提交到对应的数据库功能。
3. 示例
我们的F
[Java报表软件—技术知识] 图表联动——三个图表的联动
1. 问题描述
如何实现点击图表1,图表2显示图表1的关联数据,接着点击图表2,图表3显示图表2的关联数据又该如何实现呢,如下图,下面详细介绍该功能的实现步骤。
2. 示例
2.1 数据准备
新建3个数据集作为3张图表的数据源。
ds1:SELECT * FROM [销量] where 1=1 ${if(len(地区)==0,"","and 地区='"+地区+"'")}
ds2:SELECT * FROM [销量] where 1=1 $
[Java报表软件—技术知识] FineReport报表和J2EE应用的集成
FineReport是一个纯Java软件,因此对于J2EE的项目,可以做到无缝集成。
报表服务器并非物理概念的服务器,而是以一个标准的J2EE应用的形式或者jar包的形式提交给程序。应用程序通过url来调用报表,或者通过开放的API来调用报表的各种功能,来实现更加灵活的控制。报表集成到应用程序后,即可作为一个统一完整的程序来进行发布。
同时无缝集成还能够使报表与应用程序使用同一个数据库连接池,或进行集群,负载均衡等,提高报表的运行效率,原理图如图1所示:
图1 Java项目集成原理图
报表工程目录结构
在说明配置FineReport服务器之前,我们先了解一下FineR
[Java报表软件—技术知识] FineReport中调用Oracle存储过程
方案:在报表中通过ajax在后台执行jsp,jsp获取参数并调用数据库存储过程,下面以一个实际例子来看。
环境:Tomcat6.0,FineReport7.0.2,jdk1.6,oracle
步骤:
1:所有环境安装完毕,同时在oracle中创建一个删除数据的存储过程,如下图所示:
2:编写一个jsp页面,用以获取对应存储过程,如下所示:
3:新建报表模板,并在模板中建立按钮,书写对应js如下:
4:实际运行测试,结果如下所示:
点击前:
点击后:
结束语:
例子比较简单,但是实际的时候一些编码等问题还是需要考虑的,如果传入数组参数另说了。
[Java报表软件—技术知识] 用FineReport报表工具实现字段拼接回填数据库
数据表中需要新建一个字段district,该字段内容需要由另两个字段country和city加上汉字拼接而成,手动添加数据非常麻烦,这时候用FineReport报表工具的填报功能可以简单且快捷地实现字段拼接并回填至数据库,实现该字段内容的更新。下面看一下Java报表工具FineReport实现这一效果的具体步骤。1. 绑定数据列在报表表样中,A3单元格绑定country字段,B3单元格绑定city字段C3单元格时对应district字段的,district字段由country字段和city字段拼接而成,因而在C3单元格中写入公式:=”国家:”+A3+”城市:”+B32. 设置填报属性设
[Java报表软件—技术知识] FineReport报表填报主键空值问题
1. 问题描述在使用Web报表软件FineReport制作填报模板时可能会遇到以下问题:数据库中的A字段为主键,在定义报表填报属性时设置别的字段为主键,数据库中有一条记录是某个报表主键对应的字段值为空,当对这条记录进行更新时,却进行了插入提交。注:在Java报表软件FineReport中,报表填报属性设置主键,即判断单元格中的值与数据库中是否相同,若有相同的则进行更新,若没有则进行插入。2. 原因当有空值时,那么在执行update语句时则where条件后面是“某字段=null”,而在填报属性中若where 某字段=null时,update语句会失效然后便会转向insert语句,这样就造
[Java报表软件—技术知识] FineReport报表设计器(UI)
报表软件从本质上来讲,属于网页制作工具的一种,最终目的是从原始数据中抽取预定义的信息,经过报表服务器的分析运算后,将结果展示到浏览器中。报表软件的出现,使得用代码才能实现的报表,只需要通过报表软件的可视化设计,简单操作即可实现。报表软件是社会科技发展和专业化分工的必然产物,它大大缩短了信息管理系统的开发周期,丰富了系统数据展示的方式,提高了信息管理系统的质量,从而为企业赢得更多的利润和口碑。
正是因为“缩短项目开发周期”这一专业化的分工定位,“产品易用”、“产品实用”和“学习成本低”对报表软件显得格外重要,这三个名词也渐渐成为衡量一款报表软件领先与否的关键因素。
[Java报表软件—技术知识] 理解FineReport缓存系列1——数据集缓存
FineReport缓存技术包括数据集缓存和模板结果共享缓存,合理的使用缓存可以有效的提高性能。
一、数据集缓存
数据集缓存分为取数缓存和共享数据集
A. 取数缓存
FineReport的报表取数模型用的是叫做数据集(TableData)的二维表模型。而数据集缓存指的就是针对“数据库查询”这种数据集的取数过程所作的缓存。
背景:
数据库查询,就是通过SQL或者存储过程,从数据库服务器查询取数据传送到服务器以供报表执行用。通常这个取数的过程就是报表执行过程的一部分,因此报表的性能很大程度上依赖于取数的性能,而取数缓存就是为了解决这种性能问题而产生
.: 公告
本博客提供详细的java报表软件的制作过程,发布java报表软件的版本更新信息,并适时对国内主流报表软件进行功能比较。
« August 2025 » 日 一 二 三 四 五 六 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
.: 我的分类(专题)
.: 最新日志
.: 最新回复
blog名称:Java报表软件 日志总数:357 评论数量:69 留言数量:0 访问次数:1208830 建立时间:2006年4月16日
.: 留言板
.: 链接