1. 概述编辑
1.1 版本
报表服务器版本 | JAR 包版本 | App 版本 |
---|---|---|
10.0 |
1.2 预期效果
在主模板中使用复选框选中需要预览\填报的子模板,点击按钮打开选定的子模板进行预览\填报,在子模板中执行相应的操作。
主子模板可不同。
1.3 实现思路
在主模板中设置复选框按钮,使用js获取勾选后值作为动态参数,使用FR.doHyperlinkByGet超链接方法传递动态参数并打开相应子模板。
2. 示例编辑
2.1 模板设计
主模板设计
数据准备:新建数据集ds1:SELECT * FROM 雇员(使用内置数据连接FRDemo,下同)
模板设计:
模板布局如上图。
C2单元格设置公式:=C3;
E2单元格设置公式:=E3;
C2、E2单元格扩展方式均为不扩展或默认。
B3、D3单元格设为复按钮控件。扩展方式均为默认。
C3单元格设置公式:=if(B3 = "true", A3, "");
E3单元格设置公式:=if(D3 = "true", A3, "");
C3、E3单元格扩展方式均为默认。
B2、D2设为按钮控件并设置好按钮图标,文字(B2进行分页预览动作,D2进行填报分页预览动作);
B2按钮添加点击事件:
注:var v1=contentPane.getCellValue(0,2,1); 表示获取C2单元格值。
var url= "${servletURL}?reportlet=/doc/Advanced/PrintReport/动态预览-填报子模板.cpt";加粗部分表示子模板路径;
FR.doHyperlinkByGet(url,{A:v1},'REPORT','_dialog');表示以超链方式打开模板,传递参数为A,值为v1;
代码如下:
var v1=contentPane.getCellValue(0,2,1);
var url= "${servletURL}?reportlet=/doc/Advanced/PrintReport/动态预览-填报子模板.cpt";
FR.doHyperlinkByGet(url,{A:v1},'REPORT','_dialog');
D2按钮添加点击事件:
var v1=contentPane.getCellValue(0,4,1);
var url= "${servletURL}?reportlet=/doc/Advanced/PrintReport/动态预览-填报子模板.cpt&op=write&__cutpage__=v";
FR.doHyperlinkByGet(url,{A:v1},'REPORT','_dialog');
注:var v1=contentPane.getCellValue(0,4,1); 表示获取E2单元格值。
var url= "${servletURL}?reportlet=/doc/Advanced/PrintReport/动态预览-填报子模板.cpt&op=write&__cutpage__=v";加粗部分表示子模板以分页填报方式打开模板;
FR.doHyperlinkByGet(url,{A:v1},'REPORT','_dialog');表示以超链方式打开模板,传递参数为A,值为v1;
最后,隐藏C、E两列。
完成的模板命名为动态预览-填报主模板.cpt
保存在\webapps\webroot\WEB-INF\reportlets\doc\Advanced\PrintReport目录
子模板设计
数据准备:新建数据集ds1:SELECT * FROM 雇员 where 雇员ID in ('${replace(A,",","','")}') (使用内置数据连接FRDemo)
按上图方式设计好子模板,第一行设置为重复标题行。并设置好模板填报属性;
按下图将A2单元格设置好分页显示条件格式。
注:公式(row() - 1) % 1 = 0 表示每行分页。
完成的模板命名为动态预览-填报子模板.cpt
保存在\webapps\webroot\WEB-INF\reportlets\doc\Advanced\PrintReport目录。
2.2 效果预览
请用填报预览的方式打开主模板进行预览。
电脑端效果预览见1.2章。
支持HTML5端使用。
支持以IP直接访问数据决策系统的方式打开预览(电脑、HTML5端均已验证)。
3. 模板下载编辑
点击下载模板:
注:应将上述模板置于:\webapps\webroot\WEB-INF\reportlets\doc\Advanced\PrintReport下进行预览。
4. 注意事项编辑
提示:FR.doHyperlinkByGet(url,{A:v1},'REPORT','_dialog');中,A为参数名称,非为字段名,很容易被误导,其对应的是子模板引用的数据集参数。