本章节主要介绍HTML渲染报表组的原理、用途、编写方式及属性说明。
原理和用途:
通过报表组在网页上生成类似 Excel 的页签。声明式渲染报表组采用 HTML 标签属性驱动模式,在div元素上声明data-report-type="group"并配置相关属性。开发人员无需手动调用润乾报表API,由报表框架自动完成报表组的解析与运算,根据配置将渲染生成的报表组HTML输出至客户端浏览器,实现报表组展示。
声明式渲染写法:
在页面中编写如下div元素,即可发布报表组
<div id="reportContainer"
data-report-type="group"
data-report-groupId="group1"
data-report-groupFileName="报表组.rpg"
data-report-needPaged="yes"
data-report-funcBarLocation="no" >
</div>
属性说明:
报表组渲染可用属性见下表:
(属性名大小写敏感,属性值必须放置在双引号内)
|
属性名 |
是否必填 |
属性含义 |
属性取值 |
缺省值 |
|
浏览式报表组的公共属性 |
||||
|
data-report-groupId |
是 |
报表组id |
与html元素id命名法相同 |
无 |
|
data-report-groupFileName |
否 |
要发布的报表组文件名 |
报表组文件名 |
无 |
|
data-report-srcType |
否 |
报表组源的类型 |
见注1 |
file |
|
data-report-beanName |
否 |
当报表组源类型为bean时,已保存到request中的bean的名称 |
符合变量命名规则的字符串,与保存报表组源bean时的名称一致,且在整个web应用中应唯一 |
无 |
|
data-report-scale |
否 |
报表缩放显示比例 |
实数 |
1.0 |
|
data-report-contextName |
否 |
用bean的方式发布报表时,计算出报表bean时用的Context对象,存在session中的名称 |
存储在session中的名称 |
无 |
|
data-report-margin |
否 |
报表与报表显示区边框的距离 |
整数 |
8 |
|
data-report-width |
否 |
报表组控件的宽 |
像素或百分比 |
100% |
|
data-report-height |
否 |
报表组控件的高 |
像素或百分比 |
400 |
|
data-report-funcBarLocation |
否 |
功能条的位置 |
top, bottom, both |
top |
|
data-report-separator |
否 |
各功能钮间的分隔符 |
html元素或文字 |
空格 |
|
data-report-params |
否 |
报表组所需要的参数 |
用户提交的报表组参数值 |
无 |
|
data-report-funcBarFontFace |
否 |
功能条的字体 |
字体名称 |
宋体 |
|
data-report-funcBarFontSize |
否 |
功能条的字体大小 |
与html文件中定义字体大小相同 |
13px |
|
data-report-funcBarFontColor |
否 |
功能条的字体颜色 |
html文件中使用的颜色 |
black |
|
data-report-functionBarColor |
否 |
功能条背景色 |
html文件中使用的颜色 |
无颜色 |
|
data-report-needSaveAsExcel |
否 |
需要显示将报表存为Excel的功能钮吗 |
yes或no |
no |
|
data-report-needSaveAsPdf |
否 |
需要显示将报表存为PDF的功能钮吗 |
yes或no |
no |
|
data-report-needSaveAsWord |
否 |
需要显示将报表存为Word的功能钮吗 |
yes或no |
no |
|
data-report-needSaveAsPicture |
否 |
需要显示将报表存为图片的功能钮吗 |
yes或no |
no |
|
data-report-needSaveAsOfd |
否 |
需要显示将报表存为OFD的功能钮吗 |
yes或no |
no |
|
data-report-needPrint |
否 |
需要显示打印报表的功能钮吗 |
yes或no |
no |
|
data-report-needImportEasyui |
否 |
是否需要引入easyui的js和css文件 |
yes或no |
no |
|
data-report-theme |
否 |
编辑控件的外观主题风格 |
default,black,bootstrap,gray,metro |
default |
|
data-report-needPaged |
否 |
是否分页 |
yes或no |
no |
|
data-report-needPageMark |
否 |
要分页时是否生成页码工具条 |
yes或no |
yes |
|
data-report-needScroll |
否 |
是否固定表头 固定表头后,页面报表不分页,分页方式设置无效 |
yes或no |
no |
|
data-report-firstPageLabel |
否 |
翻到第一页的功能钮外观定义 |
html元素或文字 |
最前页 |
|
data-report-prevPageLabel |
否 |
翻到前一页的功能钮外观定义 |
html元素或文字 |
上一页 |
|
data-report-nextPageLabel |
否 |
翻到后一页的功能钮外观定义 |
html元素或文字 |
下一页 |
|
data-report-lastPageLabel |
否 |
翻到最后页的功能钮外观定义 |
html元素或文字 |
最后页 |
|
data-report-printLabel |
否 |
打印钮外观定义 |
html元素或文字 |
打印 |
|
data-report-needSelectPrinter |
否 |
打印报表组时可否选择打印机 |
yes或no |
yes |
|
data-report-excelLabel |
否 |
存为Excel钮外观定义 |
html元素或文字 |
存为Excel |
|
data-report-printedRpg |
否 |
被导出/打印的报表组文件名,用于导出/打印与显示的报表组不是同一张时的情况 |
报表文件名(.rpg) |
无 |
|
data-report-excelFormat |
否 |
导出Excel的默认格式 |
导出Excel两种格式(xls,xlsx)中的一种 |
xls |
|
data-report-pdfLabel |
否 |
存为PDF钮外观定义 |
html元素或文字 |
存为PDF |
|
data-report-wordLabel |
否 |
存为Word钮外观定义 |
html元素或文字 |
存为Word |
|
data-report-ofdLabel |
否 |
存为OFD钮外观定义 |
html元素或文字 |
存为OFD |
|
data-report-saveAsName |
否 |
报表另存为Excel、PDF或离线填报时的文件名(不用带扩展名) |
文本 |
与报表同名 |
|
data-report-userFuncBarElements |
否 |
用户自定义的功能条中的功能元素 |
html元素,可多个或多层组合,如<table><tr><td> <a href="…">xxx</a> </td></tr></table> |
无 |
|
data-report-appletJarName |
否 |
用于报表打印的applet文件名,见注3 |
*.jar或者dir/.../*.jar |
runqianReportApplet.jar |
|
data-report-exceptionPage |
否 |
显示报表组异常信息的html页面 |
可以是绝对路径或相对路径名,相对于当前使用的html页面所在路径。如:/demo/error.html或myError.html |
无 |
|
data-report-needLinkStyle |
否 |
单元格有超链接属性时,是否用设计的字体属性显示 |
yes或no |
yes |
|
data-report-tabLocation |
否 |
tab选项卡的位置 |
可选 top,bottom,left,right |
top |
|
data-report-sheetAlign |
否 |
报表组中设置报表对齐方式 |
可选值left,center |
left |
|
data-report-paramCheck |
否 |
是否对禁用参数值做校验。 禁用参数值可通过在WEB-INF\raqsoftConfig.xml中的disallowedParamWordList 属性中配置 |
yes 或 no |
yes |
|
data-report-lazyload |
否 |
是否延迟加载报表组的sheet |
yes 或 no |
no |
|
data-report-matchScreen |
否 |
报表自适应的方式。在页面设置data-report-matchScreen属性并在最后的script中添加脚本代码enableMatchGroup("group1"); |
数值0-8 0 按设计尺寸展现,不用适应容器。 1 始终用报表宽度适应容器宽度,报表高度同比例缩放 2 始终用报表高度适应容器高度,报表宽度同比例缩放 3 竖屏时,相当于mode=2;横屏时,相当于mode=1 4 竖屏时,相当于mode=1;横屏时,相当于mode=2 5 竖屏时,报表高和宽均分别适应容器的高和宽;横屏时,不需适应容器 6 竖屏时,不需适应容器;横屏时,报表高和宽均分别适应容器的高和宽 7 报表高和宽均分别适应容器的高和宽 8 按宽适应容器,报表高度保持不变 横屏定义为容器宽度大于高度,竖屏定义为容器高度大于宽度。 |
0 |
|
data-report-onlyExportDisplayedTabs |
否 |
只导出显示的sheet页。 与报表组关闭某个sheet页的js函数group_closeSheets结合使用,实现只导出未关闭的sheet页。 |
yes或no |
no |
|
data-report-exportPagedPdf |
否 |
导出PDF文件是否分页,默认分页。 |
yes或no |
yes |
|
data-report-exportPagedOfd |
否 |
导出OFD文件是否分页,默认分页。 |
yes或no |
yes |
|
浏览式报表组的属性 |
||||
|
data-report-useTabControl |
否 |
是否以TAB标签页的方式发布 |
yes或no,如为no,则首先显示第一个,然后用户可下拉选择显示哪一个 |
yes |
|
data-report-useCache |
否 |
显示此报表组时是否从缓存系统中取已经计算好的报表 |
yes或no 如果含有实时报表,应该设为no |
yes |
|
data-report-timeout |
否 |
从缓存系统中取多少分钟内产生的报表,如果没有此时间内的,则产生一个新报表 |
整数,表示分钟 负数表示不限时间 |
-1 |
注1:
data-report-srcType取值说明:
(1) 待发布报表组源为报表文件时,取值为file。
(2) 待发布报表组源为经过API处理的报表组设计对象时,取值为bean。
注2:
data-report-groupId 为必填属性。支持在同一个页面中发布多个报表组,该属性作为报表组的唯一标识,导出、打印、翻页等相关功能会依据此标识进行区分。
注3 :
如果要打印含有集算器统计图的报表,则需要将data-report-appletJarName属性设置为data-report-appletJarName="runqianReport4Applet.jar,dmGraphApplet.jar"。
注4:
data-report-lazyload属性说明:
(1) 当属性值为yes时,表示初始展示时仅加载报表组的第一个 sheet,其余 sheet 会在首次点击对应 tab 标题时才加载。
(2) 启用延迟加载后,sheet不再分页,采用整页显示,data-report-needPaged属性值会自动变为no。因为sheet分页显示本身属于另一种延迟加载方式,首次仅加载sheet的第一页,其余页面在点击翻页按钮时加载。
注5:
data-report-paramCheck是否对禁用参数值执行校验。默认值为yes,框架会使用内置检测器进行校验;若不需要对禁用参数值校验,可在报表组div属性中配置data-report-paramCheck = "no" 。