Archive for the ‘web报表应用’ Category

巧用参数实现交叉表行列互换

01.18.2010 by hewei - 0 Comment - 0
Posted in web报表应用
对于普通的没有olap分析功能的快逸报表而言,一旦发布到web页面后,其样式就被固定了,如果想把报表换种形式展现通常的做法是重新设计一张报表模板来实现,难道快逸报表就没有一种特殊的方法可以解决这样的需求吗?答案就在下面的例子中。 首先来看这样一张报表(quieeReport\webapps\quiee\reportFiles\基础报表\交叉报表.raq),在页面上的展现效果如下图: 快逸交叉报表.png 从上图可以看到这是一个多维交叉分组报表,上表头是地区/城市,左表头是日期。 如果想动态改变一下报表的样式,左表头变成地区和城市的分组展现,上表头变成年份和月份的分组展现,并且只通过一张报表,这就需要用文章标题中提到的:利用参数实现行列变换的方法了。 实现思路: 1. 设计单元格表达式根据参数不同而变化,从而实现样式跟随表达式变动。 2.点击一个超链接按钮通过url强制传参给报表中的单元格,从而控制报表的样式。 本文就以此报表为础,做一个可以行列互换的功能(上表头和左表头互换),实现报表在web页面上样式改变。 第一步:设计器中选择配置-参数 给报表增加一个参数,我们把这个参数叫做转换参数,顾名思义,这个参数就是控制行列转换用的。 快逸报表参数设定.png 第二步:修改单元格表达式,让单元格接受参数 快逸交叉报表原始表达式.png 我们把C2单元格的表达式修改为: =if(@arg1==’1′,ds1.group(year(订购日期),false,订购日期!=null)+”年”,ds1.group(货主地区,false,货主地区!=null))。 此表达式的意思是:当参数arg1的值为1时,C2单元格的表达式为ds1.group(year(订购日期),false,订购日期!=null)+”年”,否则默认为ds1.group(货主地区,false,货主地区!=null)。 关于快逸报表中if()函数的用法请参考快逸帮助文档中的相关介绍。 据这个逻辑,依照地区与城市之间的关系,年份和月份之间的关系,把单元格的表达式做如下修改: C3:=if(@arg1==’1′,ds1.group(month(订购日期),false)+”月”,ds1.group(货主城市,false)) A4:=if(@arg1==’1′,ds1.group(货主地区,false,货主地区!=null),ds1.group(year(订购日期),false,订购日期!=null)+”年”), B4:=if(@arg1==’1′,ds1.group(货主城市,false),ds1.group(month(订购日期),false)+”月”)。 第三步:修改交叉表头并在其中设置超链接 快逸交叉表表头修改.png 红色框中的交叉表头区是整张报表的关键,既要在行列转换的时候做到文字跟随变化,又要充当转换控制的按钮。 修改此单元格的表达式为:=if(@arg1==’1′,”分布,运货费,时间”,”时间,运货费,分布”) 然后在此单元格的属性中: 快逸报表超链接属性.png 加入超链接属性: if(@arg1==null,”/reportJsp/showReport.jsp?raq=/交叉报表.raq&arg1=1″,”/reportJsp/showReport.jsp?raq=/交叉报表.raq”) 快逸报表超链接编辑框.png 这个超链接的作用就是点击这个单元格,赋予arg参数值,然后通过超链接中的url把参数传递到jsp中的报表里,通过对参数值的判断,来确定超链 接中的url,这样就可以来回转换,防止只能转换一次的情况出现。(超链接也可以设置在其他单元格中,本文中这样做是为了美观且容易理解) 接下来,我们把报表发布到页面上去看效果: 快逸报表行列转换前页面.png 点击设置了超链接的表头单元格后,url自动转换为/reportJsp/showReport.jsp?raq=/交叉报表.raq& arg1=1,强制把参数arg=1传给报表的各个单元格,单元格表达式发生变化,报表样式也随之变化,于是实现了行列互换的效果: 快逸报表行列转换后页面.png 此时,如果想转换到前一种样式,只需再点击一次表头单元格即可。 在这个报表中,我们运用了很多颇具技巧性的方法,例如参数结合超链接的运用,if()函数的运用,往往一些看似很复杂的报表,通过一些技巧性的做法都是可以迎刃而解的。
原文链接: 巧用参数实现交叉表行列互换

快逸报表:连接不上sqlserver2005数据库的一个解决办法

01.17.2010 by hewei - 0 Comment - 0
Posted in web报表应用
快逸报表连接sql2005报错:到主机 的 TCP/IP 连接失败。 java.net.ConnectException: Connection refused: connect

解决方案

原因:sqlserver2005默认情况下禁用了tcp/ip连接。 手工启动tcp/ip连接的方法, 打开 \Microsoft SQL Server 2005\配置工具\目录下的SQL Server Configuration Manager,选择mssqlserver协议,右边窗口有个tcp/ip协议,启动它。之后要重启sqlserver服务,即可连接成功。 引自: 报表工具知识库
原文链接: 快逸报表:连接不上sqlserver2005数据库的一个解决办法
相关文章: 普及报表系统功能说明 ; 好用的java开发工具快逸报表数据源找不到的一个原因五种常用web服务器jvm参数设置
其他相关内容: 润乾报表 ; RAQSOFT ; 润乾商业智能解决方案

动态行的自动计算

01.16.2010 by hewei - 0 Comment - 0
Posted in web报表应用

随着B/S方式应用的普及,数据填报也逐渐转移到了网页上进行。数据录入最常见的需求之一就是动态增删行与自动计算。

所谓的动态增删行,即用户录入的过程中可以删除一些已有的行,也可以添加一些新的行,新的行和已有的行除数据外别的属性基本完全相似。

所谓自动计算,是指根据用户录入的某些单元格的值,自动计算出另外一些单元格的值,从而简化用户的输入,同时避免错误数据的录入。

因此,对于可以增加删除行的填报表,同样存在自动计算的问题。新增加的行如何添加到自动计算表达式中,比如sum\count等;已经删除的行如何从自动计算表达式中去掉?

在传统的C/S模式下,增删行的自动计算问题实现较为容易,采用通行的算法(在大多数数据结构教程中都有介绍)编写表达式计算程序来分析处理表达 式,在取单元格时根据当前环境从某逻辑行中取出数据参与运算即可(著名开发工具PowerBuilder中的Datawindow即是这样实现的)。

但是,在HTML页面上完成同样的工作则要困难得多。在纯HTML页面上通行的编程技术只有解释执行的JavaScript语言(以下简称JS)。 理论上采用JS编写表达式计算程序仍然可行,但实践中却会因JS效率过于低下而无法实用;同时由于JS语言本身能力较弱,写出这种复杂功能程序的代码量会 相当大,导致页面过于庞大而不利于下载。因此,在实际应用中不可能在纯HTML页面上实施上面的思路。

所幸的是,JS中固化了一个eval函数可用于计算表达式。但eval计算的表达式中只能出现事先定义过的JS变量或函数,而不能由程序员自行编写重载代码动态地取出某逻辑行的单元格值。

在这种限制下,采用静态报表方案可以有限地解决HTML页面上的表达式计算问题。即在报表发布成HTML之前,由后台程序为所有逻辑行生成由发布后 报表上静态单元格构成的表达式,其中统计表达式都分解成发布后报表上单个单元格的运算。这样,在HTML页面上执行eval函数时将不会再出现未定义的变 量(单元格)从而可以完成计算。

但是,这种方案不允许报表在填写过程中再插入或删除行。新增逻辑行上的行内表达式无法自动被添加出来(用JS自行计算出变换后的表达式与用JS编写计算表达式程序的复杂度是一致的),且统计表达式中将缺少新增行中的单元格。这时计算将不能完整地进行。

对于动态报表填写(即填写过程中要再插入或删除行)上的表达式计算,目前只能采用针对性编程的方案,为每种报表编写一段JS代码,拼出该报表发生变化后需要增加或修改的表达式。但显然这种方案没有通用性。

经过深入研究,快逸报表发明了一种新的算法,可以很轻松地解决增删行的的自动计算问题,其实现步骤如下:

实现步骤

  1. 设计一个行式填报表
  2. 按照业务要求写入自动计算表达式
  3. 现发布,系统会自动实现增删行时的自动计算

效果演示:

auto_computer1.png

报表设计界面

auto_computer2.png

C3单元格里写入的自动计算表达式

auto_computer3.png

浏览界面(尚未添加新行)

auto_computer4.png

浏览界面(添加了新行)

引自:报表工具知识库
原文链接: 快逸报表行式填报:动态行的自动计算
相关文章:普及报表系统功能说明 ; 好用的java开发工具 ; 数据集由内建还原为sql后没有数据 ; 快逸报表在瑞星2009下填报编辑框无法使用的解决办法
其他相关内容:润乾报表 ; RAQSOFT ; 润乾商业智能解决方案web报表研究专业.net报表工具

快逸填报:单选钮radio button

01.15.2010 by hewei - 0 Comment - 0
Posted in web报表应用
使用快逸报表做填报页面的时候,单选钮是一种比较常见的编辑风格,如下图所示: radio_button.png 单选钮比下拉框更加直观,操作更加简便,比如:下拉框选择至少要点击两次鼠标,第一次点击下拉,第二次点击选择;而单选钮只需要点击一次鼠标即可完成选择操作,而且可以一眼看出有哪些选项。因此对于选项不多的情况,如在5个以内的时候,用单选钮更加方便。 单选钮要自己编程实现并不算太困难,如果仅仅是在HTML里写一个也很容易,可是在实际业务中,有很多情况是HTML标准控件无法完成的: 首先,单选钮的选项有几个,往往并不固定,很可能由数据库里的数据动态决定,这就意味着单选钮所占的宽度有可能变化,同理,摆放在单选钮右边的元素就要动态调整位置; 其次,当单选钮所占的位置一行放不下时,可能需要摆两行或者多行,此时不光要动态算宽度,还要动态算高度,因为单选钮下面摆放的元素也得跟着动态挪位置。 所以,看似很简单的功能,一旦和真实业务联系起来,也变得不简单。快逸报表在这方面考虑的非常周到,通过如下几个步骤即可实现:

实现步骤

  1. 设计一个填报表,定义单选钮的编辑属性
  2. 定义单选钮每行摆放几个元素,这样系统会自动计算并且自动摆位,一行不够自动摆放多行
  3. 发布

radio_button1.png

引自:报表工具知识库

原文链接: 单选钮radio button

关文章:普及报表系统功能说明 ; 好用的java开发工具 ; 数据集由内建还原为sql后没有数据 ; 快逸报表在瑞星2009下填报编辑框无法使用的解决办法

其他相关内容:润乾报表 ; RAQSOFT ; 润乾商业智能解决方案web报表研究专业.net报表工具

快逸报表填报:可输入的下拉框

01.14.2010 by hewei - 0 Comment - 0
Posted in web报表应用
使用快逸报表实现填报的用户都知道,标准HTML标签提供了不少输入控件,如下拉列表等,可是下拉列表只能选择,不能输入,导致用户用起来很不爽。在实际应用中,用户往往需要既可下拉选择又可输入,比较方便,效果如下图: input_drop_down_box.png 要实现上述的功能,首先需要自己开发一个下拉控件,实现既可下拉又可输入。但是,面临一个问题:即真实值和显示值的对应关系。当下拉框既有显示值又有真实值的时候,你无法知道用户录入的是真实值还是显示值,其实两种情况都有可能。 当用户输入显示值的时候,你需要先帮他找匹配的真实值;当用户输入真实值的时候,不需要匹配。如何判断用户输入的是显示值还是真实值? 还存在另一种情况,用户输入的值有可能是下拉选项里存在的,也有可能是下拉选项里不存在的,是否允许用户输入下拉选项里不存在的项?需要加个开关来控制吧。 当然,更加麻烦的是多选的情况,多选的时候需要提供清空、全选等控制,还需要提供允许输入不存在的项、显示值与真实值的判断等。

实现步骤:

  1. 按常规方式设计填报表
  2. 定义编辑风格的时候,你会发现界面下方多了一些选项,如下图所示: input_drop_down_box1.png
  3. 根据需要进行打勾即可。

引自:报表工具知识库

原文链接: 快逸报表填报:可输入的下拉框

相关文章:普及报表系统功能说明 ; 好用的java开发工具 ; 数据集由内建还原为sql后没有数据 ; 快逸报表在瑞星2009下填报编辑框无法使用的解决办法 ; 快逸报表行式填报:动态行的自动计算

其他相关内容:润乾报表 ; RAQSOFT ; 润乾商业智能解决方案web报表研究专业.net报表工具

快逸报表:填报中的下拉多选列表框

01.12.2010 by hewei - 0 Comment - 0
Posted in web报表应用

快逸报表应用的填报页面中,下拉框是最常见的了。下拉选择框可以简化用户的输入,可以避免用户的错误录入,还可以轻松实现中文与代码的映射关系,可谓用途多多。

可是随着业务的越来越复杂,各种奇怪的需求均可能冒出来,比如说,数据库中的某个字段的取值,有可能同时存在多种,比如员工基本信息表里的擅长的外 语字段,有些人仅仅擅长一门外语,有些人擅长两门,有些人擅长三门、四门,甚至有些神童从小就精通七八门外语,如果一门外语搞一个字段,人家可能擅长七八 门外语,你岂不是要为他设计七八个外语字段,分别命名为外语1、外语2、外语3、……外语n,这样的表结构岂不是让人发疯?

但是,如果外语的下拉选择框允许多选(比如:下图中的多选效果),那么可以把擅长的多门外语用逗号分隔存入一个字段中,这样岂不是轻松地解决了这个问题?

multi_select_input.png

这个功能看似很简单,做个多选框不就行了,可是仔细推敲,其实不然。

首先,网页上的多选框在form里提交后,后台request里接收到的是一个数组,你必须在后台写程序把数组拼成逗号分隔的串,然后才能存到数据库中;

其次,把数据取回来修改的时候,还需要把数据库中逗号分隔的串解析回数组,并展现在界面里。

更为复杂些的要求,就是当选项非常多的时候,不能用简单的多选框,而可能要用下拉树,把数据组织成树状结构,这样才方便选择,否则几千甚至几万个选 项,眼睛都要看花了。而下拉树要实现多选,那更是要费一番功夫。比如叶子节点允许多选,枝节点不允许多选等等五花八门的需求,会把人弄晕。

幸好注重细节的快逸报表把所有这些麻烦都解决了。它为下拉列表、下拉数据集、下拉树等编辑风格都提供了多选的选项,使用起来非常方便,步骤如下:

实现步骤

  1. 设计一个填报表,定义下拉列表、下拉数据集、下拉树等编辑风格
  2. 在这些编辑风格的属性编辑框里,把多选选项打勾
  3. 发布

引自: 报表工具知识库
原文链接:快逸报表:填报中的下拉多选列表框
相关文章: 普及报表系统功能说明 ; 好用的java开发工具 ; 数据集由内建还原为sql后没有数据 ; 快逸报表在瑞星2009下填报编辑框无法使用的解决办法

在快逸报表应用的填报页面中,下拉框是最常见的了。下拉选择框可以简化用户的输入,可以避免用户的错误录入,还可以轻松实现中文与代码的映射关系,可谓用途多多。

可是随着业务的越来越复杂,各种奇怪的需求均可能冒出来,比如说,数据库中的某个字段的取值,有可能同时存在多种,比如员工基本信息表里的擅长的外 语字段,有些人仅仅擅长一门外语,有些人擅长两门,有些人擅长三门、四门,甚至有些神童从小就精通七八门外语,如果一门外语搞一个字段,人家可能擅长七八 门外语,你岂不是要为他设计七八个外语字段,分别命名为外语1、外语2、外语3、……外语n,这样的表结构岂不是让人发疯?

但是,如果外语的下拉选择框允许多选(比如:下图中的多选效果),那么可以把擅长的多门外语用逗号分隔存入一个字段中,这样岂不是轻松地解决了这个问题?

multi_select_input.png

这个功能看似很简单,做个多选框不就行了,可是仔细推敲,其实不然。

首先,网页上的多选框在form里提交后,后台request里接收到的是一个数组,你必须在后台写程序把数组拼成逗号分隔的串,然后才能存到数据库中;

其次,把数据取回来修改的时候,还需要把数据库中逗号分隔的串解析回数组,并展现在界面里。

更为复杂些的要求,就是当选项非常多的时候,不能用简单的多选框,而可能要用下拉树,把数据组织成树状结构,这样才方便选择,否则几千甚至几万个选 项,眼睛都要看花了。而下拉树要实现多选,那更是要费一番功夫。比如叶子节点允许多选,枝节点不允许多选等等五花八门的需求,会把人弄晕。

幸好注重细节的快逸报表把所有这些麻烦都解决了。它为下拉列表、下拉数据集、下拉树等编辑风格都提供了多选的选项,使用起来非常方便,步骤如下:

实现步骤

  1. 设计一个填报表,定义下拉列表、下拉数据集、下拉树等编辑风格
  2. 在这些编辑风格的属性编辑框里,把多选选项打勾
  3. 发布

引自: 报表工具知识库
原文链接:快逸报表:填报中的下拉多选列表框
相关文章: 普及报表系统功能说明 ; 好用的java开发工具 ; 数据集由内建还原为sql后没有数据 ; 快逸报表在瑞星2009下填报编辑框无法使用的解决办法

导入excel发生错位的问题

01.01.2010 by hewei - 0 Comment - 0
Posted in web报表应用
, , , , , , 快逸报表的行式填报从根本上解决了动态增删行的问题,不仅仅可以对分组报表、分片输入的报表实现多区域的插入删除,还能够动态解析编辑风格、自动计算、合法性检查等属性,实现了很智能的流水号、缺省值等功能。 使用快逸报表行式填报的用户遇到这样的一个问题:行式填报导入excel,发生了错位。比如:excel的第一列本来应该导入到报表的第一列,结果却不见了,excel的第二列反而导入到了报表的第一列。如何解决呢? 解决方案 在用户的填报表中发现,需要导入excel的第一列是个合并格,将这个合并格恢复成普通单元格,就可以正确导入了。例如第一列是A1和B1的合并格,拆分就可以正确导入了。
引自:报表工具知识库
原文链接: 快逸报表:解决行式填报导入excel发生错位的问题
相关文章:普及报表系统功能说明 ; 好用的java开发工具 ; 数据集由内建还原为sql后没有数据 ; 快逸报表在瑞星2009下填报编辑框无法使用的解决办法 ; 快逸报表行式填报:动态行的自动计算
其他相关内容:润乾报表 ; RAQSOFT ; 润乾商业智能解决方案web报表研究专业.net报表工具

填报中的下拉多选列表框

12.31.2009 by hewei - 0 Comment - 0
Posted in web报表应用
快逸报表应用的填报页面中,下拉框是最常见的了。下拉选择框可以简化用户的输入,可以避免用户的错误录入,还可以轻松实现中文与代码的映射关系,可谓用途多多。 可是随着业务的越来越复杂,各种奇怪的需求均可能冒出来,比如说,数据库中的某个字段的取值,有可能同时存在多种,比如员工基本信息表里的擅长的外 语字段,有些人仅仅擅长一门外语,有些人擅长两门,有些人擅长三门、四门,甚至有些神童从小就精通七八门外语,如果一门外语搞一个字段,人家可能擅长七八 门外语,你岂不是要为他设计七八个外语字段,分别命名为外语1、外语2、外语3、……外语n,这样的表结构岂不是让人发疯? 但是,如果外语的下拉选择框允许多选(比如:下图中的多选效果),那么可以把擅长的多门外语用逗号分隔存入一个字段中,这样岂不是轻松地解决了这个问题? multi_select_input.png 这个功能看似很简单,做个多选框不就行了,可是仔细推敲,其实不然。 首先,网页上的多选框在form里提交后,后台request里接收到的是一个数组,你必须在后台写程序把数组拼成逗号分隔的串,然后才能存到数据库中; 其次,把数据取回来修改的时候,还需要把数据库中逗号分隔的串解析回数组,并展现在界面里。 更为复杂些的要求,就是当选项非常多的时候,不能用简单的多选框,而可能要用下拉树,把数据组织成树状结构,这样才方便选择,否则几千甚至几万个选 项,眼睛都要看花了。而下拉树要实现多选,那更是要费一番功夫。比如叶子节点允许多选,枝节点不允许多选等等五花八门的需求,会把人弄晕。 幸好注重细节的快逸报表把所有这些麻烦都解决了。它为下拉列表、下拉数据集、下拉树等编辑风格都提供了多选的选项,使用起来非常方便,步骤如下:

实现步骤

  1. 设计一个填报表,定义下拉列表、下拉数据集、下拉树等编辑风格
  2. 在这些编辑风格的属性编辑框里,把多选选项打勾
  3. 发布

引自: 报表工具知识库

原文链接:快逸报表:填报中的下拉多选列表框

相关文章: 普及报表系统功能说明 ; 好用的java开发工具 ; 数据集由内建还原为sql后没有数据 ; 快逸报表在瑞星2009下填报编辑框无法使用的解决办法

其他相关内容: 润乾报表 ; RAQSOFT ; 润乾商业智能解决方案 ; web报表研究 ; 专业.net报表工具

“确认”提示框的处理

12.30.2009 by hewei - 0 Comment - 0
Posted in web报表应用
快逸报表不仅是一个强大的报表工具,也提供了强大的数据填报功能。web填报常常遇到的问题,快逸报表都可以解决:单选按钮、下拉列表、自动计算、自动生成流水号、实时数据合法性检查、多选批量操作等等。 在用户填报完成点击”提交”的时候,系统可以弹出一个”确认”的提示框,那么是否可以定制这个提示框呢? 解决办法: 比如:想在提示框中添加”取消”等。 设置标签:promptAfterSave=”no” 然后自己写js实现提交按钮和弹出对话框,例如: <input type=”submit” name=”Submit2″ value=”提交” onclick=”firm()” /> function firm() { //利用对话框返回的值 (true 或者 false) if(confirm(”是否保存”)) { //如果是true ,则调用_submitTable( report1 ) _submitTable( report1 ); return true; } else { //否则则取消 //alert(”你按了取消,那就是返回false”); return false; } } </script>
引自: 报表工具知识库
原文链接: 快逸填报:输入为空时候的合法性校验
相关文章: 普及报表系统功能说明 ; 好用的java开发工具 ; 数据集由内建还原为sql后没有数据 ; 快逸报表在瑞星2009下填报编辑框无法使用的解决办法
其他相关内容: 润乾报表 ; RAQSOFT ; 润乾商业智能解决方案 ; web报表研究 ; 专业.net报表工具

行式填报

12.29.2009 by hewei - 0 Comment - 0
Posted in web报表应用

任务背景

输入页面的动态增删行是个比较头痛的问题。用户在录入数据的时候,往往希望可以动态插入、删除、添加记录,这样操作起来比较方便。 对于比较简单的清单式报表,有这样的要求,但是对于比较复杂的分组报表,或者是分片输入的报表,也同样会提出类似的要求。此时要求能够选择报表区域,针对某个区域进行增删行的操作。 新增加的行要求能够自动生成对应的编辑风格、自动计算、合法性检查等功能

面临困难

如果编程实现上述的功能,面临如下困难: - 需要记录每条记录的修改、删除、新增状态 - 需要写复杂的javascript,实现动态增删的功能 - 对于分组报表和分片输入的报表,还需要智能识别用户需要增删的是哪个报表区域,从而对相应区域进行操作。 动 态增删需要考虑的细节非常多,决不是表面上的增删行那么简单,在增加行的时候需要把编辑风格、自动计算、合法性检查等属性动态解析到新增加的行,这是一个 最复杂的功能,因为每一行的编辑风格、自动计算、合法性检查等属性不会完全一样,因为这些属性往往和当前行的一些数据值有关系。而且还有一些全局的自动计 算,可能和所有行都有关系,例如对所有行的sum操作等,这些自动计算的表达式都要动态的解析和变化。 当然,新增加的行还会有缺省值等属性,例如动态流水号等等,这些功能必然会遇到。 考虑到直接编程实现上述功能太麻烦,建议采用润乾报表的行式填报,快逸报表的行式填报从根本上解决了动态增删行的问题,不仅仅可以对分组报表、分片 输入的报表实现多区域的插入删除,还能够动态解析编辑风格、自动计算、合法性检查等属性,实现了很智能的流水号、缺省值等功能,实现步骤如下:

实现步骤

  1. 设计一个填报表,把报表样式设为”行式报表”
  2. 根据业务需要,添加编辑风格、自动计算、合法性检查、流水号等属性
  3. 在jsp中发布时,往tag里添加insertRowLabel、appendRowLabel、deleteRowLabel等属性,即插入、添加、删除按钮。

于是,功能完美的行式填报完成了,请看效果图:

效果演示

row_report_input.png

引自:报表工具知识库

原文链接:谈谈行式填报

相关文章:普及报表系统功能说明 ; 好用的java开发工具 ; 数据集由内建还原为sql后没有数据 ; 利用内建数据集方便地进行快逸报表调试

其他相关内容:润乾报表 ; RAQSOFT ; 润乾商业智能解决方案 ; java报表研究