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