润乾报表集成到Eclipse开发环境Word下载.docx
《润乾报表集成到Eclipse开发环境Word下载.docx》由会员分享,可在线阅读,更多相关《润乾报表集成到Eclipse开发环境Word下载.docx(35页珍藏版)》请在冰豆网上搜索。
/servlet-name>
servlet-class>
com.runqian.util.webutil.SetContextServlet<
/servlet-class>
load-on-startup>
2<
/load-on-startup>
/servlet>
reportServlet<
com.runqian.report4.view.ReportServlet<
init-param>
<
param-name>
configFile<
/param-name>
param-value>
/WEB-INF/reportConfig.xml<
/param-value>
/init-param>
1<
DMServlet<
com.raq.web.view.DMServlet<
/WEB-INF/dmConfig.xml<
10<
servlet-mapping>
url-pattern>
/reportServlet<
/url-pattern>
/servlet-mapping>
/DMServlet<
/DMServletAjax<
jsp-config>
taglib>
taglib-uri>
/WEB-INF/runqianReport4.tld<
/taglib-uri>
taglib-location>
/taglib-location>
/taglib>
/jsp-config>
reportConfig.xml
打开Web项目的reportConfig.xml文件,将license的值修改为刚才拷贝到src目录下的授权文件的名称:
将reportFileHome的值修改为刚才新建的用来存放报表文件的目录的名称:
JNDIPrefix属性表示查找数据源时的环境串前缀,在不同的WEB服务器中不同,如Tomcat中是java:
/comp/env,而Weblogic和Websphere中均不需要,可以不填.
dataSource表示用户在WEB应用中要用到的数据源配置,其格式如下:
数据源的JNDI名称,数据库类型[,取数时是否需要转换编码,数据库字符集编码,显示报表时的字符集编码][,SQL是否需要转码];
[重复]……
数据库类型按下表填写:
注:
上表中不存在的数据库类型,参数值都写为写unknown.
1.3添加数据源
以tomcat为例,找到%TOMCAT_HOME%/conf\Catalina\localhost\项目名称.xml文件,没有则新建一个,内容为:
<
Contextpath="
/ReportWeb"
reloadable="
true"
docBase="
E:
\WORKSPACES\ReportWeb\WebContent"
>
Resource
name="
test"
auth="
Container"
type="
javax.sql.DataSource"
maxActive="
20"
maxIdle="
1"
maxWait="
10000"
username="
drool"
password="
driverClassName="
com.mysql.jdbc.Driver"
url="
jdbc:
mysql:
//127.0.0.1:
3306/drool?
characterEncoding=utf8"
/>
/Context>
红色标记为需要配置的地方,其他配置参数,按照自己项目的需求进行配置.
其中name的值请与reportConfig.xml中的dataSource的数据源名称保持一致.
1.4多数据源配置
如果报表中需要使用多个不同数据源,可以参照上一步在web容器中添加一个数据源:
mysql"
然后在reportConfig.xml的dataSource中追加一条配置:
多条数据源之间以半角分号隔开.
至此Web项目已经完成了与润乾报表的整合.
2润乾报表模板配置
2.1新建数据源
打开润乾报表设计器,点击菜单配置--数据源
点击新建—关系数据库
填写数据库信息
点击连接按钮连接数据源
2.2新建报表
点击菜单文件—新建报表
填报类型选择普通报表,数据源填写上一步定义的数据源名称,数据集类型选择SQL检索:
选中需要的表
选中需要的列:
检索条件暂时不填,选取排序字段
可以在语法内看到生成的语句如下
点击确定,报表类型向导页面可以调整字段显示顺序
报表定义页面可以隐藏不需要显示的字段
点击生成网格报表后生成的报表样式如下
2.3给报表添加过滤条件
例如上例中报表需要一个过滤条件wherecontrylike‘%中国%’,首先右键点击生成的报表的第00单元格,选择参数选项:
新增一个参数contry,数据类型为字符串可以给定一个预设值为’中国’:
右键点击00格,选择数据集:
点击编辑,可以看到之前定义的数据集
选择检索条件,选择需要添加的字段,在右边的窗口中填写表达式,参数使用占位符?
代替,语法与HQL相同:
选择参数,点击增加按钮添加一个参数,双击参数表达式栏会弹出表达式编辑窗口
数据栏会列出当前报表已定义的参数,双击可添加到报表表达式栏.
点击浏览数据可预览当前数据集查询结果:
此处数值会自动填写定义参数时所填写的预设值.点击确定预览数据:
点击文件—预览可预览报表效果:
2.4分组报表
例如上例中报表需要按照国家—省份—城市进行分组,首先调整一下字段顺序,然后将报表数据区内需要分组的字段改为=数据集.group(字段)格式:
函数说明:
根据分组表达式,从数据集中选出一组组集。
语法:
datasetName.group(<
selectExp>
,<
filterExp>
)//适用于不需要排序或数据集中已排好序datasetName.group(selectExp{,descExp{,filterExp{,sortExp{,groupSortExp{,groupDescExp{,rootGroupExp}}}}}})
参数说明:
selectExp选出的分组表达式,可以是字段列名/列号,也可以是表达式。
列号用#n表示,例如#0代表第0列,#1代表第1列,依此类推descExp分组前记录的排序顺序,true为逆序,false为顺序filterExp过滤表达式sortExp分组前记录的排序依据表达式groupSortExp分组后对组的排序表达式,一般是汇总运算的表达式,如组合计等groupDescExp组排序顺序,true为逆序,false为顺序rootGroupExp是否root数据集表达式
返回值:
一组数据的集合,数据类型由selectExp的运算结果来决定
示例:
例1:
ds1.group(class)把数据集ds1中所有记录按照class字段进行分组,并返回每组的class值组成的集合
例2:
ds1.group(class,true)把数据集ds1中所有记录按照class字段降序排列,然后根据class进行分组,并返回每组的class值组成的集合
例3:
ds1.group(class,false,sex=='
1'
)从数据源ds1中选取性别为"
的记录,按照class字段升序排列,然后根据class进行分组,并返回每组的class值组成的集合
例4:
ds1.group(class,true,sex=='
id)从数据源ds1中选取性别为"
的记录,按照id字段降序排列,然后根据class进行分组,并返回每组的class值组成的集合
例5:
ds1.group(省份,true,,,ds1.sum(工业产值),true)对数据集ds1按照省份进行分组,分组后求出每组的sum(工业产值),然后按照这个汇总值对组进行逆序排列
预览数据如下
会发现少了一条数据并且没有正确分组.这是由于没有对分组字段进行排序,并且未分组字段只选取了符合条件的第一条数据.给每个分组字段加上排序选项,并为没有进行分组的text字段加上select函数:
预览结果如下
select()
函数说