润乾报表入门
润乾报表4

润乾报表实现将多个报表导入一个excel的多个sheet在实际的应用中,经常会有数据从excel导入系统数据库或者数据从系统中导入到excel,这两种业务操作润乾报表可以轻易地实现,但普通的导出数据大多都是导出到一个单独的excel中,还有一种客户经常使用的数据处理方式,是将多个报表的运算结果导入到同一个excel的多个sheet中。
下面讲述润乾报表如何实现这一业务。
一:实现思路先读取多个报表,分别计算多个报表,然后把多个结果添加到导出列表,最后实现导出到excel的多个sheet中。
二:实现步骤(以两个报表为例)1:首先制作两个报表one.raq和two.raq,如下图:One.raqTwo.raq2:利用润乾提供的方法读入两个报表,读入计算并导出,代码如下:<%@ page contentType=”text/html;charset=GBK” %><%@ taglib uri=”/WEB-INF/runqianReport4.tld” prefix=”report” %><%@ page import=”com.runqian.report4.model.ReportDefine”%><%@ page import=”com.runqian.report4.model.engine.ExtCellSet”%><%@ page import=”ermodel.Context”%><%@ page import=”ermodel.Engine”%><%@ page import=”ermodel.IReport”%><%@ page import=”com.runqian.report4.util.ReportUtils”%><%@ page import=”ermodel.PageBuilder”%><%@ page import=”com.runqian.report4.view.excel.ExcelReport”%><html><body topmargin=0 leftmargin=0 rightmargin=0 bottomMargin=0><%//创建context对象,设置报表的路径Context ctx = new Context();String path = “D:/Program Files/reportHome/webapps/demo/reportFiles/one.raq”;//读入报表ReportDefine rd = (ReportDefine) ReportUtils.read(path);Engine engine = new Engine(rd, ctx);//计算报表IReport report = engine.calc();Context ctx1 = new Context();String path1 = “D:/Program Files/reportHome/webapps/demo/reportFiles/two.raq”;ReportDefine rd1 = (ReportDefine) ReportUtils.read(path1);Engine engine1 = new Engine(rd1, ctx1);IReport report1 = engine1.calc();ExcelReport er = new ExcelReport();//导出的excel文件命名为moreSheetInExcel.xls,包括两个sheet,一个为one,另一个为two,保存在D盘下er.export(”one”, report);er.export(”two”, report1);er.saveTo(”D:/moreSheetInExcel.xls”); //输出到指定文件out.pr int(”导出成功!”);%></body></html>三:运行此jsp,执行其中的代码当页面中出现导出成功时,就说明两个报表已经成功导入到了moreSheetInExcel.xsl,并分别存储在one sheet和twosheet中,效果如下:总结:本文只是实现这一需求,具体项目中可以统一写一个方法类,动态传入要导出的报表名字,并且动态设置保存路径。
(完整版)润乾报表使用手册

报表使用手册报表使用手册XX股份有限公司中国济南目录1概述.............................................................................................................................. - 3 - 2安装.............................................................................................................................. - 3 -2.1准备好安装程序.......................................................................................... - 3 -2.2安装中的选项.............................................................................................. - 3 -2.3授权文件配置.............................................................................................. - 4 - 3报表制作...................................................................................................................... - 5 -3.1报表制作要求.............................................................................................. - 5 -3.2制作一张报表的步骤.................................................................................. - 5 -3.3启动报表设计器.......................................................................................... - 6 -3.4连接数据源.................................................................................................. - 7 -3.4.1 数据源对话框......................................................................................... - 7 -3.4.2 编辑数据源............................................................................................. - 7 -3.4.3 注意事项................................................................................................. - 9 -3.5设计报表格式.............................................................................................. - 9 -3.5.1 格式设计................................................................................................. - 9 -3.5.2 需注意事项........................................................................................... - 10 -3.6定义参数.................................................................................................... - 10 -3.6.1 参数的编辑........................................................................................... - 10 -3.6.2 常用参数举例....................................................................................... - 11 -3.7定义宏........................................................................................................ - 11 -3.7.1 宏的编辑............................................................................................... - 11 -3.7.2 常用宏举例........................................................................................... - 12 -3.8建立数据集................................................................................................ - 12 -3.8.1 数据集的编辑....................................................................................... - 12 -3.8.2 常用数据集举例................................................................................... - 13 -3.9设置单元格属性........................................................................................ - 14 -3.9.1 数据集在单元格中应用....................................................................... - 14 -3.9.2 显示格式............................................................................................... - 14 -3.9.3 设置预警条件....................................................................................... - 15 -3.9.4 增加动态背景色................................................................................... - 15 -3.9.5 按参数隐藏列....................................................................................... - 16 -3.9.6 主格应用............................................................................................... - 16 -3.10报表预览.................................................................................................... - 16 -3.11报表发布.................................................................................................... - 17 - 4报表部署.................................................................................................................... - 18 -4.1部署位置.................................................................................................... - 18 -4.2Web中显示................................................................................................ - 18 - 5重要概念.................................................................................................................... - 19 -5.1数据源........................................................................................................ - 19 -5.2数据集........................................................................................................ - 19 -5.3参数............................................................................................................ - 19 -5.4宏定义........................................................................................................ - 20 -5.5单元格........................................................................................................ - 21 -5.6主格............................................................................................................ - 21 - 6常用函数.................................................................................................................... - 23 -6.1数据集函数................................................................................................ - 23 -6.1.1 select() .................................................................................................... - 23 -6.1.2 select1() .................................................................................................. - 23 -6.1.3 count() .................................................................................................... - 24 -6.2单元格函数................................................................................................ - 24 -6.2.1 if() ........................................................................................................... - 24 -6.2.2 row() ....................................................................................................... - 24 -6.2.3 value() .................................................................................................... - 24 -6.3字符串函数................................................................................................ - 24 -6.3.1 pos() ....................................................................................................... - 24 -6.3.2 mid() ....................................................................................................... - 24 -6.4数据类型转换函数.................................................................................... - 24 -6.4.1 dateTime() .............................................................................................. - 24 -6.4.2 str() ......................................................................................................... - 24 -1概述该文档主要满足iES-E200电量采集系统中自定义报表制作编写。
润乾报表规范

报表规范1.所有报表都需要表头,即报表名称2.所有数值右对齐,用户数等采用整数显示,涉及到金额等类型的数据默认保留2位小数(展现时,计算过程不要处理),数据采用千位分割符(比如:12,346,789.00 ),比率都要加上百分号,并默认保留2位小数。
3.字体:宋体,字体大小:12,标题字体大小:12,加粗;报表名称字体大小:16,加粗4.查询条件显示顺序时间、地域、网络类型、品牌、渠道、套餐。
5.背景色(RGB)标题行:186,186,214合计行:221,199,135(-96/-2242681)数据行一:255,255,255数据行二:239,239,247(设置方法:在背景色对应的表达式栏中输入“if(round(row()/2)*2=row(),-1,-1052681)”)标题行、合计行边框:白色数据行边框:212,212,2056.省分排序根据码表的ORD字段正向排序,对应列标题统一为“省分”7.省分公司列统一为“省分”,列宽统一为“50/17.6”,对于列很少的报表根据实际情况处理。
总部报表展现数据方面要求:1.时点数的到达值和本年净增、本月净增2.时期数的本年累计和本月值3.有几个Sheet做几张报表4.发展、业务量、收入分为不同的报表展现5.月、年的数放在一起边框:242,240,159实现情况以下实现的报表都仅完成报表展现工作,正式数据未展现。
1市场营销部1.1日报总共26张,目前实现24张,剩余2张“如意通大众卡套餐用户发展日报”由于本期不要求上传数据暂未实现。
1.2世界风品牌月报总共13张,本期要求实现6张,已完成1.3新势力品牌月报总共13张,本期要求实现6张,已完成5张1.4如意通品牌月报总共13张,本期要求实现6张,已完成1.5营销渠道统计指标报表总共4张,本期要求实现3张,已完成2张2增值业务部总共5张,本期要求实现3张,已完成 2 张3数据固定部总共19张,本期要求实现7张,已完成4集团客户部总共31张,本期要求实现29张,已完成6张5国际部总共32张,全部要求实现,未开始6互联互通部总共9张,全部要求实现,已完成5张7客户服务部7.1积分总共9张,全部要求实现,已完成5张7.2俱乐部总共10张,全部要求实现,已完成2张。
润乾报表常用函数

润乾报表常用函数1.to函数说明:生成一组连续的整数数据语法: to(startE xp,endExp{,stepEx p})参数说明:startE xp 整数数据开始的表达式endExp整数数据结束的表达式stepEx p 整数数据步长的表达式函数示例:to(1,5)=list(1,2,3,4,5)to(1,5,2)=list(1,3,5)to(-5,-10,-2)=list(-5,-7,-9)to(-10,-8)=list(-10,-9,-8)2.select函数说明:从数据集的当前行集中选取符合条件的记录语法:datase tName.select( <select_exp>{, desc_e xp{, filter_exp{,sort_e xp{,rootGr oupEx p}}}} )datase tName.select( <select_exp>, , <filter_exp> )//适用于不需排序或数据集中已排好序参数说明:select_exp:要选择的字段列名/列号,,也可以是表达式。
列号用#n 表示,例如#0代表第0列,#1代表第1列,依此类推desc_e xp: 指定数据排序的顺序,true表示降序排列,false表示升序排列。
filter_exp:数据过滤表达式,如果全部选出,则此参数省略,仅用“,”占位。
sort_e xp: 数据排序表达式。
当此项为空时先检查de sc_ex p是否为空,如果为空,则不排序,否则使用se lect_exp排序。
rootGr oupEx p 是否root数据集表达式返回值:一组数据的集合,数据类型由s elect_exp的运算结果决定函数示例:例1:ds1.select( name ) 从数据源ds1中选取n ame字段列的所有值, 不排序例2:ds1.select( #2, true ) 从数据源ds1中选取第二个字段列的所有值并降序排列例3:ds1.select( name,false,sex=='1') 从数据源ds1中选取性别为男性的name字段列的值并升序排列例4:ds1.select( name, true, sex=='1', id ) 从数据源ds1中选取性别为男性的name字段列的值并按id字段降序排列3.Int函数说明:将字符串或数字转换成整数语法: int( string ) int( number )参数说明:string需要转换的字符串表达式number数字,如果带有小数位,转换后小数位被截掉返回值:32位整数示例:例1:int( "100" ) 返回:100例2:int( 100.1 ) 返回:100例3:int(100.9999) 返回:1004.map函数说明显示值对照表函数,从对照表中找出当前单元格对应值的显示值,没有则返回n ull语法: map(valueL istEx p, displa yList Exp)参数说明:valueL istEx p 真实值列表,可以是可扩展单元格或结果为集合列表的表达式displa yList Exp 显示值列表,可以是可扩展单元格或结果为集合列表的表达式真实值列表和显示值列表一一对应返回值:字符型,和当前格真实值对应的显示值示例:例1:map(to(1,3),list("男","女","不定"))例2:map(arg1,arg2) 其中arg1为1,2,3组成的参数组,arg2为"男","女","不定"组成的字符串组例3:map(list(1,2,3),list("男","女","不定"))5.Select1函数说明:从数据集中按顺序检索到符合过滤条件的第一条记录,返回其sel ectEx p值语法: datase tName.select1(select Exp{,filter Exp{,rootGr oupEx p}})参数说明: select Exp 要选择的字段列名/列号,,也可以是表达式。
润乾报表入门

润乾报表⼊门1 前⾔鉴于⽬前报表开发没有⼀个统⼀的规范,每个开发的风格和习惯也不⼀致,所以动⼿写了这份报表开发⽂档,⼀来有助于统⼀⼤家的报表的风格,提供⼀些常见问题的解决⽅案,⼆来⽅便以后新⼈的学习使⽤。
本⼈也是略懂⽪⽑,有什么错误和不⾜之处,欢迎⼤家补充修改。
2.报表⼯具安装解压后运⾏runqian-v4.5.5-install.exe安装⽂件,按引导完成安装。
其中,在初次打开报表⽂件和发布报表⽂件的时候(后续会提到),会提⽰我们需要lic⽂件,就是下图中的两个lic⽂件。
Figure 13.报表⼯具的使⽤3-1 配置数据源使⽤报表时需要先对数据源进⾏配置:Figure 2选择新建⼀个数据源:Figure 3项⽬中默认使⽤的数据源名称为reportjndi.参考图3进⾏配置后,点击连接,进⾏数据源连接,这样就完成了报表服务器与数据库的连接。
3-2 新建报表⽬前的报表形式分为两部分,⼀是⽤来显⽰查询结果的“报表名.raq”⽂件,另⼀个是⽤来提供查询条件的“报表名_arg.raq”⽂件。
我们只需要在保存⽂件的时候,按上述格式命名,打开.raq⽂件时,会⾃动打开相关的_arg.raq⽂件。
3-3 结果显⽰报表设计⾸先新建⼀张报表,直接点击左上⾓⼯具栏上的即可。
按照给定的表样设计好报表名名、列名。
如下图,这⾥提供⼀种样式当做参考模板,如客户⽆特殊需求,希望各开发按照统⼀的样式标准进⾏设计,有助于提⾼所有报表的统⼀性,后⾯还会提到⼀些规范,希望⼤家也可以遵守起来。
Figure 4报表名这⼀⾏,采⽤⿊⾊、⼆号字,加粗。
列名采⽤⽩⾊、三号字,加粗,背景⾊使⽤淡紫⾊(颜⾊相近即可)。
若每⼀列下⾯还要分列,则使⽤⿊⾊、⼩三号字,结果数据使⽤⿊⾊、四号字。
Figure 5设定好报表样式后,开始根据逻辑进⾏取数,设置每⼀列的宽度时,如果需要在⼀⾏中完整显⽰的,要选择“按单元格内容扩⼤”,并去掉“⾃动换⾏”。
Figure 6报表通过配置的“数据集”进⾏取数。
润乾报表单元格条件设置

润乾报表单元格条件设置润乾报表单元格条件设置是润乾报表软件中一项非常重要的功能,它可以根据用户定义的条件,在报表中对单元格进行动态的格式设置或数值计算。
本文将详细介绍润乾报表单元格条件设置的使用方法和一些常见的应用场景。
润乾报表是一款强大的数据分析和报表制作工具,它的单元格条件设置功能能够大大提升报表的可视化效果和数据分析能力。
通过设置条件,用户可以根据各种规则对报表中的单元格进行格式设置,如加粗、变色、居中对齐等,以突出显示重要信息或异常情况。
同时,条件设置还可以用于进行数值计算,如求和、计数、求平均值等,以快速统计和分析数据。
下面将以一步一步的方式介绍润乾报表单元格条件设置的使用方法:第一步,打开润乾报表软件并加载需要设置条件的报表文件。
在报表编辑界面,选中需要设置条件的单元格或者整列/整行。
第二步,点击工具栏上的“条件设置”按钮,或者通过菜单栏的“数据”-“条件设置”命令打开条件设置对话框。
第三步,在条件设置对话框中,可以看到有两个选项卡:“单元格格式”和“数值计算”。
用户可以根据实际需求选择其中一个选项卡进行设置。
对于“单元格格式”选项卡,用户可以通过设置不同的条件来对单元格进行格式设置。
具体的设置方法是点击“添加”按钮,然后在弹出的条件设置对话框中设置条件的类型、比较方式和比较值。
条件类型可以是“等于”、“不等于”、“大于”、“小于”、“大于等于”、“小于等于”等。
比较方式可以是具体的数值或文本,也可以是某个单元格的数值或文本。
比如,可以设置条件为“数值大于20”或“文本等于‘异常’”。
设置好条件后,用户可以选择所设置条件满足时的格式,如字体加粗、变色、居中对齐等。
同样,用户也可以设置多个条件,以满足不同的格式需求。
设置完条件后,点击“确定”按钮即可完成条件设置。
对于“数值计算”选项卡,用户可以通过设置条件来进行数值计算。
具体的设置方法是点击“添加”按钮,然后在弹出的条件设置对话框中设置计算的类型、比较方式和比较值。
润乾报表注册及使用

第一步:权限管理》应用功能管理》实施工具》统计分析报表
功能名称:统计分析报表
功能编码:qbaseSlAsReport
是否定义为菜单:是
功能调用入口:com.pera.qcore.control.qbaseSlAsReportMaintain.flow?_eosFlowAction=query
第二步:权限管理》菜单管理》实施工具》统计分析如图:
第三步:角色授权
第四步:实施工具》统计分析》增加,上传报表如果没有参数报表不用上传后保存
第五步:点击台账的复制
第六步:在功能调用入口:选择粘贴
第七步:将应用功能挂在菜单下后授权即可
第八步:替换报表授权文件
第九步:替换tomcat下web.xml文件
路径:apache-tomcat-5.5.20\webapps\workspace\WEB-INF
第十步:修改数据源路径D:\qpera\apache-tomcat-5.5.20\conf。
润乾报表V3.0在WEB中的使用说明

润乾报表(新版)在WEB中的使用说明1WEB服务器配置使用本报表系统需要在WEB服务器中配置WEB应用和应用中用到的数据库连接池。
下面以TOMCA T为例进行说明:1、修改[tomcat]/conf/server.xml文件,在</Host>行之前插入如下的一段标签:/report" docBase="<value></parameter><parameter><name>password</name><value></parameter><parameter><name>driverClassName</name><value></parameter><parameter><name>url</name><value></parameter></ResourceParams></Context>以上用粗体表示的部分为应进行修改的内容。
如果在应用中要用到多个数据库,则应重复<Resource …… </ResourceParams>之间的内容。
2、要将相应的数据库JDBC驱动程序包放入[tomcat]/common/lib目录中2WEB应用配置2.1文件部署JA V A类的部署:如果报表系统提供的是jar文件,则将之放在WEB应用的WEB-INF/lib 目录中,如果提供的是呈目录结构的class文件,则将com目录和color.properties文件放到WEB应用的WEB-INF/classes目录中。
将runqianReport.tld文件放到WEB应用的WEB-INF目录中。
将xrq_license.dat文件放到WEB应用的WEB-INF目录中。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1 前言
鉴于目前报表开发没有一个统一的规范,每个开发的风格和习惯也不一致,所以动手写了这份报表开发文档,一来有助于统一大家的报表的风格,提供一些常见问题的解决方案,二来方便以后新人的学习使用。
本人也是略懂皮毛,有什么错误和不足之处,欢迎大家补充修改。
2.报表工具安装
解压后运行runqian-v4.5.5-install.exe安装文件,按引导完成安装。
其中,在初次打开报表文件和发布报表文件的时候(后续会提到),会提示我们需要lic文件,就是下图中的两个lic文件。
Figure 1
3.报表工具的使用
3-1 配置数据源
使用报表时需要先对数据源进行配置:
Figure 2选择新建一个数据源:
Figure 3
项目中默认使用的数据源名称为reportjndi.参考图3进行配置后,点击连接,进行数据源连接,这样就完成了报表服务器与数据库的连接。
3-2 新建报表
目前的报表形式分为两部分,一是用来显示查询结果的“报表名.raq”文件,另一个是用来提供查询条件的“报表名_arg.raq”文件。
我们只需要在保存文件的时候,按上述格式命名,打开.raq文件时,会自动打开相关的_arg.raq文件。
3-3 结果显示报表设计
首先新建一张报表,直接点击左上角工具栏上的即可。
按照给定的表样设计好报表名名、列名。
如下图,这里提供一种样式当做参考模板,如客户无特殊需求,希望各开发按照统一的样式标准进行设计,有助于提高所有报表的统一性,后面还会提到一些规范,希望大家也可以遵守起来。
Figure 4
报表名这一行,采用黑色、二号字,加粗。
列名采用白色、三号字,加粗,背景色使用淡紫色(颜色相近即可)。
若每一列下面还要分列,则使用黑色、小三号字,结果数据使用黑色、四号字。
Figure 5
设定好报表样式后,开始根据逻辑进行取数,设置每一列的宽度时,如果需要在一行中完整显示的,要选择“按单元格内容扩大”,并去掉“自动换行”。
Figure 6
报表通过配置的“数据集”进行取数。
点击配置—数据集,新增一个数据集,大部分逻辑,通过sql检索即可完成,若遇到比较复杂的也可以使用存储过程。
Figure 7
在“语法”中输入sql语句,获得我们想要的查询结果:
然后在报表中通过数据源名.select(列名),即可获得我们要的数据,select方法还提供了排序等功能,详细用法可以参考安装D:\develop\安装包\安装包,帮助文档,lic\runqian_helpdoc\使用手册\报表设计\润乾报表4.5用户手册.chm,通过搜索关键字,可以了解相关的功能,开发的时候可以多使用这个手册。
3-4 查询条件报表设计
很多时候需要根据一些条件来对数据进行筛选,点击左上角新建报表,选择填报报表,生成一张空白报表,设计好需要的查询条件,例如:
Figure 8
在设计的时候需要统一一下样式:
从上往下,每行四个查询条件,黑色小三号字体。
右击查询条件后面的空白格,选择填报属性们可以选择编辑风格,如所属机构、银行大类这些条件,我们一般使用下拉数据集,通过数据集进行取数,可以分别设置显示列和数据列。
Figure 9
比较常用的编辑风格包括下拉日历,下拉列表框以及普通的文本编辑框。
通过配置查询条件所在格的WEB变量名,可以在结果报表中通过相同的参数名获得该单元格的数据。
Figure 10
在结果报表中,点击配置—参数,配置对应的参数名
Figure 11
在这里配置好以后,我们在数据集中也需要配置参数,然后在sql语句中,使用“?”与该参数进行绑定。
需要注意的是,sql语句中的?与参数中的参数是按照顺序一一对应绑定的,有几个“?”就有几个参数,而且对应顺序要一致。
如下图,参数列表中第9,第10个参数为bankid,在sql语句中,对应的刚好也是第9,第10个“?”
Figure 12
Figure 13
3-5 发布报表
完成报表的设计之后,点击右上方的“发布报表”,可以将报表发布到指定路径中。
再点击Internet图标,就可以在网页中查看报了。
Figure 14
4.常见问题及解决方案
4-1 分组,排序
经常要对查询结果进行排序和分组,报表工具自带group语法,可以在sql里先用order by排好序,然后在报表工具里使用group进行分组。
常用的select排序和group排序是:ds1.select(AAA,false,,BBB),从数据集ds1中获取AAA字段,并根据BBB字段进行排序ds1.group(AAA,true),把数据集ds1中所有记录按照AAA字段降序排列,然后根据AAA 进行分组
对组织进行排序,可以通过org_level和org_id两个条件来排序。
4-2 非必填查询条件
有时候查询条件很多,使用的时候往往不是所有的条件都要输入,这时可以在sql的判断中加上or ? is null。
如图12所示,对非必填的条件,加上or ? is null,就可以在没有传该条件参数的时候也能查出数据。
(如果条件为多选,设置的数据类型为“字符串组”,这种情况下如果写or ? is null 是会报错的,这里提供一种处理方法:在绑定参数的时候需要特殊处理,如下图,typecode为多选条件的变量名,第一个变量为正常的字符串组变量,第二个变量特殊处理,如果为null时,赋值‘1’,如果不是,赋值‘2’,这样在sql中判断的时候,只要将or ? is null 改为or? = ’1’即可完成对空值的判断。
这样配置后,对应的sql应该写成and (code in (?) or ? = ‘1’))
4-3 组织隔离
需要对查询条件中的“组织机构”下拉框进行数据隔离时,可以这样配置数据集:SELECT org_code||'-'||org_namenamecode,org_id from tsys_organization t where org_id in(SELECT org_id FROM tsys_organization start with org_id = nvl(? , '6000001')
CONNECT BY NOCYCLE PRIOR org_id = PARENT_ID)
ORDER BY org_code
“?”表示传进来的expectedorgID,这样就只能选到登录用户所在组织的本级以及下级组织。
4-4 是否包含下级
需要这个条件时,查询报表需要添加一个下拉列表框,假设“1”表示“是”,“0”表示“否”,WEB变量名为“includesubs”,设置该单元格不能为空,则默认选择“是”。
在结果报表的sql中,需要判断的字段为id,可以参考下面的代码:
and (
(? is not null and ( (?='1' and id in(SELECT org_id FROM tsys_organization START WITH org_id =?
CONNECT BY NOCYCLE PRIOR org_id = PARENT_ID)) or (?='0' and id=?))) or
( ? is null and ( (?='1' and id in(SELECT org_id FROM tsys_organization START WITH org_id =?
CONNECT BY NOCYCLE PRIOR org_id = PARENT_ID)) or (?='0' and id=?)))
)
10个?对应的参数为:
Figure 15
上诉代码的逻辑是:如果选了“组织”条件,那么是否包含下级就根据这个组织来进行判断,选是,就显示该组织及下级的数据,选否,只显示该组织的数;如果没有选“组织”条件,则以登录用户的组织ID(expectedorgID)作为参考组织。
4-5 中文传参乱码和无法分页问题
类似于开户行这类查询条件,由于数据太多,无法做成下拉的形式,就只能通过文本输入进行模糊查询,但是有时候发现报表工具在传中文时会变成乱码。
还有如果对报表进行分页,点下一页时一直会跳转回第一页,只要把showReport.jsp中的isRedirect=1;改为isRedirect=0;即可,这样就不会把中文放在url里去传参了。
4-6 分页后列显示不全
分页时,建议选择“按行分页”,然后在报表属性—打印中根据实际情况设定宽度,使一个页面中能显示所有列。
如图
Figure 16。