Posts Tagged ‘快逸报表’

利用快逸报表内置JS函数实现页码跳转功能

02.01.2010 by hewei - 0 Comment - 0
Posted in web报表

Web应用开发中一个很普遍的需求就是页码的跳转,快逸报表已经为项目开发人员提供了起始页,下一页,上一页,最后页的功能,节省了人工编写的复杂度,当然,如果想直接跳转到某一页,就需要稍微做一点工作了,我们知道快逸报表内置的javascript函数中有一个_toPage( )函数,此函数的语法为:tag中的name属性+_toPage( N),N为页数。下面就简单的做一个例子实现这一效果。
(注:更多的函数说明请参考 应用开发教程以及应用开发手册中的网页脚本控制一章节)

首先看一下效果图:

快逸报表 web报表 页面条状 js函数.png

实现步骤:
1:首先制作一张报表,报表属性设置为按行分页,每页十五行,如图所示:

快逸报表 web报表 页面条状 js函数 报表模板 分页

2:写jsp页面发布此报表,jsp代码如下:

<!-
< %@ taglib uri=”/WEB-INF/runqianReport4.tld” prefix=”report” % >
< %
//以下代码是将常用的jsp中input元素拼为字符串
String tpagestr = “< input type=\”text\” style=\”width:30px;\” value=\”\” name=\”atpage\” id=\”atpage\”>< input type=\”submit\” value=\”go\” onclick=\”aa();\” >”;
%>
< html>
< head>
< title>快逸报表输入跳转页数跳转< /title>
< h2 align=”center” >快逸报表输入跳转页数跳转< /h2>
< /head>
< script type=”text/javascript” >
//定义名为aa的js函数,当点击value为”go”的按钮时调用
function aa(){
//获得定义ID为atpage输入框的值
var tpagenum = document.getElementById(”atpage”).value;
//调用快逸内置的_toPage()函数,将获得的值传入即可实现转到某一页
try{report1_toPage(tpagenum);}
catch(e){}
return false;

}
< /script>
< table align=”center”>
< tr >< td>
< %== 以下是用tag标签发布报表==% >
< report:html name=”report1″ reportFileName=”moreData.raq”
< %== userFuncBarElements是自定义的功能条中的功能元素,引入我们自定义的Html元素 ==%>
userFuncBarElements=”"
width=”-1″
/ >
< /td>< /tr>
< /table>
< /html>

总结:快逸报表内置了很多很实用的js函数供开发者调用,可以实现诸如此类的需求,熟练使用快逸报表中的内置js函数可以使开发变得更快速简单。

原文链接:利用快逸报表内置JS函数实现页码跳转功能

下拉菜单多选参数查询

01.31.2010 by hewei - 0 Comment - 0
Posted in web相关技术

快逸报表的下拉菜单功能可以很方便用在参数模板中,供报表浏览者轻松准确的选择需要的参数进行查询,但是默认的查询参数只能选择一个值如下图:

快逸报表下拉菜单多选的参数传递单选1.png

如果想要选择多个值就需要另外进行设置。本文就来介绍一下快逸报表是怎样利用下拉菜单进行多选查询的。
首先进行报表的设计:

22.PNG

第一步:增加数据集
ds1.SELECT EMPLOYEE.EMPID,EMPLOYEE.EMPNAME,EMPLOYEE.BIRTHDAY,EMPLOYEE.SEX,EMPLOYEE.DEGREE,EMPLOYEE.BONUS
FROM EMPLOYEE
ds2: SELECT DEGREE.ID,DEGREE.NAME FROM DEGREE

第二步:定义表达式
1、将A3单元格表达式修改为:=ds1.Select(int(EMPID),false)
该表达式是将字符串型的EMPID转换成整数,再做排序操作。
2、设置C3单元格的显示格式为:yyyy年MM月dd日
3、设置F3单元格的显示格式为:¥#0.00
4、设置D3的显示值为:map(list(”1″,”2″),list(”男”,”女”))
5、设置E3的显示值为:ds2.select1(name,id==value()),
6、设置E4为”统计时间:”,F5的值为=now(),F6()值为”第”+pno()+”页”。

第三步:添加参数

在报表中配置选项中添加参数,用来接收参数模板传过来的参数,参数名称为arg1,类型为字符串组。
进入到设计数据集的部分,其中的检索条件设置为DEGREE in (?) or ? is null,之后在参数标签中添加两个参数,其中两个参数的表达式的写法是第一个参数表达式为arg1,第二个参数表达式为str(arg1)格式如下:

快逸报表下拉菜单多选的参数传递参数设计3

然后设计参数模板,具体的设计方法如下:

66.PNG

C2单元格填报属性设置为下拉列表框,并在该单元格的web属性的变量名中填写与报表文件对应参数名称,这里填写为arg1:列表框数据如下图所示:

44.PNG

注意,一定要选择 允许多选和增强控件两个选项,否则无法进行多选。
这样报表就设计完了
发布到web,报表可以进行多选,点击查询得到查询结果,如下图:

77.PNG

这样,就在下拉菜单里完成了多选的查询,如果用户想在下拉数据集里进行多选查询的话,将模板的参数下拉菜单改为下拉数据集,然后在设置中除了添加显示列和数据列之外同样勾选上允许多选和增强控件,其他设计方法参照本例即可,就能实现下拉数据集的多选查询。

原文链接:下拉菜单多选参数查询

Web报表单元格内容竖排显示的制作方法

01.29.2010 by hewei - 0 Comment - 0
Posted in web报表

需求说明
普通报表常常需要将文字从纵向方向竖着排列,Web报表自然也不例外有这个需求。
快逸报表单元格的内容默认情况下是横向显示的,如何实现竖排显示单元格内容呢,下面介绍两种制作方法。

一.宽度限制加自动换行

大致思路:将该单元格内容居中显示,并设置单元格的宽度使每行只能显示一个字,然后设置自动换行,就可以实现单元格内容竖排显示了。
新建一个空白报表,然后内建一个数据集,内建数据集的内容如下

Web报表单元格内容竖排显示的制作方法1.png

然后在单元格中输入:
A1: 编号
A2:案卷题名
B1:=ds1.select(案卷_档号)
B2:=ds1.案卷_案卷题名
把没有用到的单元格删除掉。
设置B1的扩展方向为”横向扩展”

Web报表单元格内容竖排显示的制作方法2.png

现在报表已经做好了,浏览报表,单元格的内容是横向显示的。如下图

Web报表单元格内容竖排显示的制作方法3.png

下面添加竖排显示的功能:
设置A、B列的宽度为8,使每列只能显示一个汉字。实际运用中的具体宽度要根据字体具体大小算出。

Web报表单元格内容竖排显示的制作方法4.png

勾选上A1、A2、B2单元格的”自动换行”,使每行只能显示一个汉字

Web报表单元格内容竖排显示的制作方法5.png

设置完成,发布报表,在IE中浏览报表,效果图如下

Web报表单元格内容竖排显示的制作方法6.png

二.缩进控制加自动换行


方法一只能把列的宽度设置的很小,可以一行显示一个汉字;如果把列的宽度加宽,就不会出现上图中的效果。如果要把列的宽度设置的比较宽,一行又只能显示一个字,该怎么制作呢。
大致思路:将该单元格内容居中显示, 调整单元格的缩进值,然后勾选上”自动换行”属性,就可以在比较宽的列中实现单元格内容竖排显示了。
这种制作方法和上面的方法基本上一样,现在就用上面做好的报表,把B列的宽度改为25,然后设置B2单元格的缩进值为10,如下图:

Web报表单元格内容竖排显示的制作方法7.png

设置完成,保存报表,然后在IE中浏览报表,效果图如下:

Web报表单元格内容竖排显示的制作方法8.png

从上面的两种效果图可以看出,第一种不能加宽列的宽度,第二种方法可以调整列的宽度。以后遇到类似的需求就可以用上面的方法实现了。

原文链接:Web报表单元格内容竖排显示的制作方法

快逸报表部署中异常信息:no report config file!错误排除步骤

01.23.2010 by hewei - 0 Comment - 0
Posted in web相关技术

在用快逸报表进行Web开发,部署到Web服务器上时,经常会在浏览报表的过程中遇到这样一个报表异常信息”no report config file”,导致报表无法浏览。此异常信息显示在jsp页面上,下图为异常信息显示截图:

快逸报表异常错误信息.png

查看后台报错信息为:
javax.servlet.ServletException: No report config file!
at com.runqian.report4.view.ReportServlet.loadConfig(Unknown Source:75)
at com.runqian.report4.view.ReportServlet.reloadConfig(Unknown Source:823)
at com.runqian.report4.tag.HtmlTag.doStartTag(Unknown Source:20)

从字面的意思上看,是没有报表配置文件,可明明部署的时候,配置文件reportConfig.xml和web.xml都有,为什么还会出现这个异常呢?从异常信息上看不出什么端倪,其实,这个问题的原因是写这些配置文件的时候,有一些小细节被忽略,稍不注意就会出错,下面,就来看一下正确的配置文件写法。

第一步:先来看一下reportConfig.xml中需要注意的地方:

快逸报表reportConfig配置图.png

第二步: 需要特别注意的是配置的数据源的名字一定要和报表里连接数据源的名字一致,否则会报找不到数据源的异常。

第三步:我们看一下web.xml文件中关于快逸报表servlet的配置:

快逸报表web.xml文件配置图.png

在web.xml文件中,配置了报表系统中用到的servlet和taglib,如果在项目应用中配置其他功能的servlet和过滤器等,注意一定不要影响到报表的servlet,否则会致使报表不能正常运行。

第四步:看一下数据库连接池的配置文件,一般情况下和应用文件夹同名,这里为demo.xml(weblogic和websphere服务器的数据库连接配置是向导式的,这里不在赘述,详见快逸帮助文档中的J2EE部署手册中的相关介绍):
以Tomcat为例,在Tomcat5.5版本之前的数据库连接池文件如下图:

快逸报表数据库连接池配置1.png

在Tomcat5.5- Tomcat6.0版本之后,数据库连接池文件的写法发生了变化,如下图:

快逸报表数据库连接池配置2.png

第五步:还需要注意一点的是,把配置文件修改后,需要清理Web服务器的缓存并重启服务,重新加载配置文件。
综上,其实”no report config file”异常并不难处理,只要注意配置文正确写法和位置,在异常发生的时候根据上面各项,认真检查,就可以快速的定位异常,解决问题了。
关键字:快逸报表,部署,配置文件,Tomcat。
原文链接: 快逸报表部署中异常信息:no report config file!错误排除步骤

快逸报表部署中异常信息:no report config file!错误排除步骤

01.23.2010 by hewei - 0 Comment - 0
Posted in web相关技术

在用快逸报表进行Web开发,部署到Web服务器上时,经常会在浏览报表的过程中遇到这样一个报表异常信息”no report config file”,导致报表无法浏览。此异常信息显示在jsp页面上,下图为异常信息显示截图:

快逸报表异常错误信息.png

查看后台报错信息为:
javax.servlet.ServletException: No report config file!
at com.runqian.report4.view.ReportServlet.loadConfig(Unknown Source:75)
at com.runqian.report4.view.ReportServlet.reloadConfig(Unknown Source:823)
at com.runqian.report4.tag.HtmlTag.doStartTag(Unknown Source:20)

从字面的意思上看,是没有报表配置文件,可明明部署的时候,配置文件reportConfig.xml和web.xml都有,为什么还会出现这个异常呢?从异常信息上看不出什么端倪,其实,这个问题的原因是写这些配置文件的时候,有一些小细节被忽略,稍不注意就会出错,下面,就来看一下正确的配置文件写法。

第一步:先来看一下reportConfig.xml中需要注意的地方:

快逸报表reportConfig配置图.png

第二步: 需要特别注意的是配置的数据源的名字一定要和报表里连接数据源的名字一致,否则会报找不到数据源的异常。

第三步:我们看一下web.xml文件中关于快逸报表servlet的配置:

快逸报表web.xml文件配置图.png

在web.xml文件中,配置了报表系统中用到的servlet和taglib,如果在项目应用中配置其他功能的servlet和过滤器等,注意一定不要影响到报表的servlet,否则会致使报表不能正常运行。

第四步:看一下数据库连接池的配置文件,一般情况下和应用文件夹同名,这里为demo.xml(weblogic和websphere服务器的数据库连接配置是向导式的,这里不在赘述,详见快逸帮助文档中的J2EE部署手册中的相关介绍):
以Tomcat为例,在Tomcat5.5版本之前的数据库连接池文件如下图:

快逸报表数据库连接池配置1.png

在Tomcat5.5- Tomcat6.0版本之后,数据库连接池文件的写法发生了变化,如下图:

快逸报表数据库连接池配置2.png

第五步:还需要注意一点的是,把配置文件修改后,需要清理Web服务器的缓存并重启服务,重新加载配置文件。
综上,其实”no report config file”异常并不难处理,只要注意配置文正确写法和位置,在异常发生的时候根据上面各项,认真检查,就可以快速的定位异常,解决问题了。
关键字:快逸报表,部署,配置文件,Tomcat。
原文链接: 快逸报表部署中异常信息:no report config file!错误排除步骤

Web报表通过参数动态得到一个参数区间

01.22.2010 by hewei - 0 Comment - 0
Posted in web相关技术

Web报表设计中,经常会遇到从一个时间区间内取得数据的问题,比如查询某个日期所在周的订货信息详情,如果使用普通参数来解决这个问题的话,需要用户手动设置一周的起始时间和结束时间,这样做不但容易出错,而且也增大了开发人员的负担,如果使用动态参数来解决这个问题,用户只需要选择某个日期,系统就会自动计算出该日期所在周的起始时间和结束时间, 简化了客户的操作,提高了准确程度。
下面以一个例子来说明如何实现这个需求:
预期效果如下图所示:

快逸报表Web报表通过参数动态得到一个参数区间预期效果1

第一步:设计报表

使用快逸报表demo数据源,建立两个数据集。
ds1:
SELECT 订单.订购日期,订单.订单ID,订单.货主地区,订单.货主城市,订单.运货商 FROM 订单 WHERE 订单.订购日期 >?AND 订单.订购日期 < ?
并添加两个参数定义arg2和arg3。
ds2:
SELECT 运货商.公司名称,运货商.运货商ID FROM 运货商
报表设计器中添加以下数据:
A2单元格表达式为:=str(arg2)+ ” 到”+str(arg3)+” 订货单 ”
A4单元格表达式为:=ds1.Select(货主地区)
B4单元格表达式为:=ds1.货主城市
C4单元格表达式为:=ds1.订单ID
D4单元格表达式为:=ds1.运货商,显示值表达式为=ds2.select(公司名称,,运货商ID==value())
E4单元格表达式为:=date(ds1.订购日期),显示格式为:yyyy年MM月dd日
设置背景颜色如下:

快逸报表Web报表通过参数动态得到一个参数区间参数设计

第二步:设置参数

在设计器-配置-参数中,为报表添加一个日期型普通参数和两个日期型动态参数,这个普通参数的值设置为1996-07-08(作为首次查询的默认值,可为任意日期),两个动态参数值设置为:
动态参数arg2的值填写weekbegin(arg1),
动态参数arg3的值填写weekend(arg1),
其中weekbegin()和weekend()这两个函数是报表自带的函数,他们的作用是计算一个日期所在周的起始时间和结束时间。
在本例中,通过普通参数得到时间,然后动态通过函数计算,将得到的时间赋给arg2和arg3,然后系统将arg2和arg3作为条件进行检索。

快逸报表Web报表通过参数动态得到一个参数区间参数设计3

第三步:设计报表参数模板


模板为填报报表

快逸报表Web报表通过参数动态得到一个参数区间参数模板

B2: 提示输入日期:
C2: 可写,填报属性中的编辑风格为下拉日历。
在web中预览报表,形式如下:

快逸报表Web报表通过参数动态得到一个参数区间显示效果

参数输入框中通过下拉日历选择日期,系统自动算出日期所在周的起始和截止时间,并根据这个条件显示时间,并最终显示出结果。

点击报表头实现列表排序

01.21.2010 by hewei - 0 Comment - 0
Posted in web相关技术
点击报表头,列表自动从小到大或者从大到小排序是非常常见的需求,传统的报表单纯通过写sql和页面来实现,费时费力,快逸报表作为新一代的类excel智能WEB报表开发工具,在实现这种需求时可谓轻而易举。本文通过下面的小例子介绍一下。一:首先看一下效果图: 点击报表头实现列表排序效果点击类别ID后,效果图如下:点击报表头实现列表排序效果从上面的两个图片中可以看出点击报表头时,类别ID从由小到大排序变为了从大到小排序!二:实现思路:快逸报表中数据集函数可以传入参数,从而控制对某一字段的排序,通过宏和参数以及超链接的结合使用,可以动态为数据集函数传入不同的参数,实现了点标题点击标题实现列表排序。三:实现步骤: 1:首先看报表模版以及参数和宏的设置下图是报表模版及参数设置:点击报表头实现列表排序设置下图为报表模版和宏的设置:点击报表头实现列表排序设置
2:利用宏和超链接实现方法解析快逸报表的数据集函数可以控制排序方式,此例中用到的数据集函数为:ds1.grout(),A2单元格表达式为:=ds1.group(类别ID,${macro2},,${macro1})${macro2}表示分组前记录的排序顺序,true为逆序,false为顺序${macro1}表示分组前纪录的排序依据表达式,默认为类别ID所以只要能动态传入macro2以及macro1的值,就能控制类别ID的排序。(注:ds.group()数据集函数的说明请参考 润乾报表4.0用户手册 第八章 表达式及函数 第四节函数中的内容)第一次访问此报表时接受的宏值为默认值,A2单元格表达式为:=ds1.group(类别ID,false,, 类别ID),所以我们看到的效果是类别ID从小到大排序。接下来每次通过点击报表头单元格触发超链接来传递不同的宏值实现排序改变。我们在类别ID报表头单元格设置超链接,如下图:点击报表头实现列表排序设置
超链接表达式为:”/reportJsp/showReport.jsp?raq=/点列表排序.raq&macro1=类别ID&macro2=”+order+”&order=”+if(order==”true”,”false”,”true”)由表达式可以看出:超链接url中动态控制了macro2的值,macro2的值为报表定义的order参数(macro2=”+order+”),然后通过为参数动态赋值,进而为宏动态赋值,if(order==”true”,”false”,”true”)意思为:如果order为true,那么order赋值为false,否则order赋值为true。这样就实现了点击标题,动态控制排序方式的功能。同样的道理,也可以设置根据销售额的大小动态实现排序的方式,同样可以通过设置超链接,为A2单元格的ds1.group()函数动态传入宏值来控制。具体的实现,可以动手做一下。快逸报表作为新一代的企业级智能WEB报表工具,集成了参数,宏,函数等等,灵活的利用宏和参数能大大提高报表的简易度,灵活度。
原文链接: 点击报表头实现列表排序

快逸报表:连接不上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 ; 润乾商业智能解决方案

快逸填报:单选钮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报表工具

行式填报导入excel发生错位的问题

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