通用展现页面可以通过展现参数和模式来控制报表展现的效果。
使用通用展现页面进行报表展现时,可以通过全局展现设置、资源展现设置及URL来进行展现参数、模式值的设置。由于报表展现标签数量较多,以上3种方式都仅能设置部分常用参数、模式或标签属性的值。
在首页菜单[报表统计展现]-[全局展现设置]中进行设置。通过此页面进行的设置,对系统中展现的所有报表都生效。
该功能模块为报表展现的参数提供友好的配置界面,该页面可配置的参数分为几大类:工具栏参数,报表显示区域参数,打印导出参数,通用查询参数,填报参数等。
在[资源中心]下,报表资源操作列的[更多]操作中包含一个[展现设置]的按钮。点击即可设置该报表资源的展现参数、标签和展现所用模式。
注意:资源展现设置优先级高于全局展现设置,即在全局展现配置和资源展现配置中同时配置了某个展现属性时,以资源展现设置中的设置为准。
报表展现的属性还可以通过URL来进行设置,直接在URL后加上要设置的参数名及参数值即可。如在url中添加参数needPrint=no,隐藏打印按钮。
通用展现页面本身特有的参数主要用于对报表调用和部分展现的控制。使用资源ID进行报表调用时resID或sys_fid必需设置;使用文件名称进行报表展现时raq或rpg参数必需设置;其它参数为非必需参数。通用展现页面特有参数及其具体说明如下:
resID或sys_fid资源ID:新建报表资源时生成的一个ID,可以通过该ID找到报表资源的路径、文件名等信息用于报表展现。
resType资源类型:不同的资源类型的标识。类型为数字,具体资源及其对应的编号如下:复杂报表:18 报表组:10010 自定义jsp:21
resName资源名称:在资源中心下显示的名称,还用于展现页面默认的标题名称。
serverPathV5报表文件路径,展现时不指定此路径,则根据资源ID从数据库中查询得到。指定后使用指定的报表文件路径。不从数据库中进行查询。
raq或rpg报表文件或报表组文件路径及名称:使用文件名称进行报表调用时必须设置的参数,包含路径的文件名称。具体参见展现方式。
needSubscribe是否显示订阅按钮:不设置时默认为yes
needImportExcel是否需要导入excel:不设置时默认为yes
needPage是否需要分页:不设置时默认为yes
needPageMark是否需要分页按钮:不设置时默认为yes
toolbarLocation工具条位置:不设置时默认为top。top:上端 bottom:底端 none:无工具条
needPrint是否需要打印按钮:不设置时默认为no
flashPrint打印方式(是否使用flash打印):可以选择Flash打印,对应属性值为yes,默认为Flash打印;可以选择Applet打印,对应属性值为no;也可以选择HTML打印,对应属性值为html。
needDirectPrint是否需要直接打印按钮:不设置时默认为no
needSaveAsExcel是否需要导出Excel按钮:不设置时默认为yes
needSaveAsPdf是否需要导出Pdf按钮:不设置时默认为yes
needSaveAsWord是否需要导出Word按钮:不设置时默认为yes
needSaveRemote是否需要远程导出按钮:不设置时默认为yes
needSaveAsCsv是否需要导出csv按钮:不设置时默认为yes
needSaveAsText是否需要导出txt按钮:不设置时默认为yes
needDebug是否需要导出debug按钮:不设置时默认为no
extendButtons自定义按钮:工具栏添加按钮
needScroll是否锁定表头:不设置时默认为yes
resize是否可以拖拽报表单元格宽高:不设置时默认为no
reportAlign报表位置对齐:不设置时默认为left。包含属性left、right、top 、middle 、bottom
allowedFormatAdjust是否导入排序和换列的JS:不设置时默认为空。colheadsort:排序 ;colheaddrag:换列 ;都要引入的话中间用 | 分隔。实现排序功能需要报表表头区设置html事件为 "sortable='true'" ,数据区html事件为 "exchangeable='true'" ;实现换列功能需要报表表头区设置html事件为 "dragable='true'" ,数据区html事件为 "exchangeable='true'"
autoRefresh是否自动刷新:整数,不设置时默认为yes(默认30秒)
fastShowPage是否快速展现:不设置时默认为yes,快速展现说明可参考 快速展现。
width报表分页宽度:整数,单位为px,负数表示无穷大,不设置时默认为0。
height报表分页高度:整数,单位为px,负数表示无穷大,不设置时默认为0。
paddingLeft报表展现页面左边距:整数,单位为px,整数表示右移,负数表示左移。默认为15px,即右移15个像素。例如:paddingLeft=20
paddingTop报表展现页面上边距:整数,单位为px,整数表示下移,负数表示上移。默认为5px,即下移5个像素。例如:paddingTop=20
scale报表缩放比例: 实数,不设置时默认为1
title页面标题:报表展现页面标题,不设置时默认显示为resName的值。可以通过该参数手动设置该值。
reportAreaWidth报表展现区域宽度:不设置时默认为0。整数,象素值.或者百分数,如80%
reportAreaHeight展现报表区域高度:不设置时默认为0。整数,象素值.或者百分数,如80%
excelPageStyle存为Excel时的分页方式,不指定此属性值,则系统弹出对话框让用户选否1复杂、报表组0(不分页)或1(分页)
flashPrint使用flash打印:默认为yes,no为Applet打印方式。
isNeedFormula导出excel是否导出公式:不设置时默认为0。0不导出、1导出
excelFormat导出excel的格式:不设置时默认为2003
wordFormat导出word的格式:不设置时默认为2003
pdfExportStyle存为PDF时,导出的文件分页方式及导出类型,导出类型分为图形方式及text方式。否text,0复杂、报表组属性值格式为: "文件类型,是否分页".文件类型取值为:graph: 将文字导出为图形方式.text:将文字导出为文本方式.1表示要分页,0表示不分页。
remoteSaveHome远程导出路径,远程导出时导出文件存放的路径。通过文件路径选择弹出框,自定义远程导出路径。
saveAsName报表导出另存为时的文件名,可自定义报表导出时的文件名称
dispRatio导出excel时显示比例属性:不设置时默认为100
showSelectedFilters查询面板是否显示已选条件:不设置时默认为yes
hiddenReportAfterShow报表展现后是否收起通用查询面板:不设置时默认为no
defaultPackupQryPanel用于控制首次预览带参数表单或通用查询的报表时,是否显示通用查询面板和参数表单
hasQrPanle是否隐藏查询面板:不设置时默认为no。DBD特有参数 DBD参数,DBD中展现时需要收起查询面板
autoDisplay是否自动显示报表:不设置时默认为0。0:自动显示报表,1:不自动显示报表(有通用查询时不自动显示报表)
commonQueryLocation通用查询面板位置:不设置时默认为top。top:上端; bottom:底端; left:左端; right:右端
maxWidth查询面板最大宽度,不设置时默认为800
btnDisTime查询按钮禁用时间:不设置时默认为30。复杂、报表组、分组、交叉 点击查询按钮之后按钮不可用,btnDisTime秒之后按钮出现,用于防止数据量过大报表未加载完成多次重复发出报表请求
commonQueryPath通用查询文件路径。通用查询json文件所在路径。
commonQueryJson通用查询结果json:json串,配置该结果串后可以直接查询出报表结果(不展现查询面板和条件值的设定)
configProcessor通用查询预处理类:不设置时默认为no。
rate分辨率:不设置时,默认为800*480。新建手机报表时用户可以根据移动应用客户端的分辨率进行重新选择或者自定义
scale分辨率自适应:不设置时,则按原始分辨率。新建手机报表时用户也可以根据需要重新选择分辨率。
backColor报表底色:不设置时,默认为#FFFFFF。客户端报表底色是报表在移动设备上展现时,当报表不能完全填充屏幕大小而出现了空白区域,该空白区域所显示的底色
keyRepeat是否使用填报数据主键控制功能:不设置时默认为no
validOnSubmit提交填报时是否校验数据有效性:不设置时默认为yes
validOnShow展现填报表时是否校验数据有效性:不设置时默认为no
autoHideEditor编辑控件是否自动隐藏:不设置时为yes
importExcelAppend导入excel时是否新加行:不设置时默认为yes
promptBeforeUnload离开页面时提示提交数据:不设置时默认为no
promptAfterSave提交后是否弹出确认框:不设置时默认为yes
backAndRefresh填报完成后是否刷新报表:不设置时默认为yes
submitTarget填报完成后刷新方式:不设置时默认为_self
inputListener填报监听类
showGraphOnly是否只显示统计图:不设置时默认为yes(数据分析报表)
exportPageCount数据分析类报表导出行数:不设置时默认为5000
fastPivot_pageCount数据分析类报表每页展现行数:不设置时为40
bigData是否使用大数据分页展现,默认为no。设置该参数后,报表展现标签类型为html,具体标签种类为big
dsName用于指定报表中的大数据量数据集,只能指定一个。没有设置时,默认使用报表的第一个数据集
autoMode是否使用自动分页:不设置时默认为yes。大数据量展现标签特有
totalCountExp总记录数:Big标签返回的值是一个整型数据。如用query执行一个count的sql
pageCount每页记录数,分页后每一页包含的记录数:不设置时默认为10。Big标签,分组整数
countPerExportPage导出时每次取数的条数:整数,不设置时默认为10。Big标签特有
cachePageNum报表每次计算页数:不设置时默认为5。Big标签特有整数
exportExcelOneSheet是否导出到excel的一个sheet页:不设置时默认为no。Big标签特有
countPerExportPage导出时每次取数的条数:整数,不设置时默认为10。Big标签特有
isCollReport是否是折叠报表:不设置时默认为 no
collReportType折叠报表类型:不设置时默认为 0。 0:不定层级;1:树形;2:多个报表
customJsController折叠报表设置类型:默认为空。为json格式,行折叠报表设置为:{"treeReport":"true"};行折叠异步加载报表设置为:{"treeReportAsync":"true"};列折叠报表设置为:{"colCollapse":"true"};自定义分组报表设置为:{"customGroup":"true"}。
paramProcessor参数表单监听类:不设置时默认为No。V4参数表单特有参数
reportParamsId参数池ID:复杂、报表组、v4 报表查询时会将参数名和参数值存放到参数池中,这些参数对应一个参数ID;通过参数ID可以取到报表对应参数值
showParam是否显示参数表单:不设置时默认为TRUE。仅适用于含参数表单的V4报表
asyncLoad报表组异步加载:不设置时默认为 yes
showReportListenerSR实现类类名:调用SR监听类进行业务逻辑处理上,通过配置该参数进行实现类的调用。具体参见:报表展现标签与API -> showReportListener
viewReportListenerVR实现类类名:调用VR监听类进行业务逻辑处理上,通过配置该参数进行。实现类的调用。具体参见:报表展现标签与API -> 报表计算客户化
jsFilesjs文件的引用,存储展现页面中使用到的JS方法的文件名称。可以配置多个文件,以分号分隔。
srCssFilesSR引入CSS文件组:复杂、报表组、分组、交叉 SR页面引入的css文件,可以配置多个文件,以分号分隔
srJsFilesSR引入JS文件组:复杂、报表组、分组、交叉 SR页面引入的JS文件,可以配置多个文件,以分号分隔,可参考JS事件 。
encodeAllParam是否对所有参数解密展现:参数值为yes或no,为yes时,对所有参数进行解密后展现,为no时不对参数进行解密,默认值为no。具体参见URL参数加解密。
encodeParamName需要进行解密的参数名:值为需要解密的参数名称,多个参数名之间用逗号分隔。具体参见URL参数加解密。
showPageCallBack展现回调函数
formFilePath自定义查询form的jsp文件:自定义查询jsp页面的文件路径,相对路径,相对于应用根目录(reportmis)
vrType具体的标签种类:用于手动指定报表具体使用哪组标签进行报表展现。不设置时默认自动根据报表类进行判断选择标签展现。与showType参数结合使用,showType为viewReport时,取值为report,input,html,group;showType为html时取值为html,group,big。
模式是为了简化报表展现URL,减少标签参数输入与设置所提供的一种展现设置方法。在实际应用中,可以将一组标签及其属性值保存为一个模式。在报表展现时,直接调用模式来进行报表展现。
在使用模式进行展现控制的基础上还能够通过标签来进行控制。下面举例说明模式的作用及使用方法。
例如:
平台中有一部分大数据量报表,达到百万、千万甚至更大的数据量。在对这类报表进行展现时,需要使用分页计算标签来快速展现。
分页取数计算标签需要设置的标签属性不止一个,这时为了方便调用进展现可以进行如下设置:
在需要展现此类大数据量报表时,只需要调用模式1001,即可快速展现大数据量报表。而无需设置众多标签属性值。当需要修改或添加其中某个属性值时,只需要在模式的基础上设置其它标签属性的值即可。如:...&schemaId=1001&autoMode=no。
设置一种展现模式,设置其它展现参数,输入报表资源ID或名称,当模式和参数中都包含同一属性时,以参数设置的属性值为准。
在进行模式调用时,直接使用schemaId作为模式ID的参数名进行调用即可,模式的设置如下:
[{"schema": "1001","params": "showTpe=html&vrType=big&autoMode=yes&totalCountExp=200000&pageCount=50&cachePageNum=40&cellsNum=0"}]
调用此模式可在展现设置里设置模式为1001,也可在URL后拼接&schemaId=1001。
当用户希望使用通用展现页面展现报表过程中时某些操作触发自定义的JS事件,可以通过添加SR事件来实现。
用户可添加SR事件,添加的事件方法会在对应时候触发。
报表展现页面中JS事件调用方法及详细说明如下:
通用把表展现页面展现报表时,传递参数srJsFiles=js文件名
方法名称:为标签中定义的js方法名,例如:test1。
事件名称及对应触发条件:
通过url传递参数时可以对参数加密后再进行传递。在报表展现时再对URL中参数进行解密。对URL进行加解密时,既可以选择对URL中所有参数进行加解密,也可以只对部分参数进行加解密。
对参数加解密时有部分参数比较特殊:
1、使用conf_showReportClass为com_runqianapp_showReport_ShowReportGEZ进行展现时(平台默认展现方式),默认会对报表名称、报表路径、资源名称进行加解密展现。
使用conf_showReportClass为com_runqianapp_showReport_ShowReportVR进行展现时默认不对任何参数进行加解密展现。
2、对所有参数进行加解密展现时,有三个特殊参数,由于是在报表URL解密前进行调用,所以不能对它们进行加密:conf_showReportClass、schemaId和resID。
示例代码如下:
使用encode()函数进行加密,加密的内容既可以是值,也可以是表达式。
例如:encode(demo_订单.货主地区)。
当展现报表的URL中所有的参数都进行过加密时,可以通过设置encodeAllParam=yes来对所有参数进行解密,encodeAllParam默认为no,默认不对所有参数进行解密后展现。
resID="MTAwNTI,&resType=MTg,&resName=5ZCE5Zyw5a6i5oi36ZSA5ZSu5oOF5Ya157uf6K6h6KGo&resIdForTab=MTAwNTI,&encodeAllParam=yes
对指定参数解密
如果传递展现报表的URL时,只对其中部分参数进行了加密。那么在报表展现时需要指定,进行解密的参数名。设置格式为:encodeParamName=参数名,多个参数名之间用逗号分隔。
示例:
arg1=5piG5piO&encodeParamName=arg1