反饋已提交
網絡繁忙
多 Sheet 报表在实际项目中应用是比较广泛的,相比较于单 Sheet 报表,多 Sheet 报表一般性功能不会特别的复杂,下面介绍几个多 Sheet 里面的典型应用:
示例一:重新加载当前 Sheet
示例二:跨 Sheet 校验
示例三:多 Sheet 相互依赖关系
此处重新加载仅表示恢复初始状态数据。
新建普通报表,新建数据库查询 ds1,SQL 查询语句为:SELECT * FROM 产品。
1)Sheet1 :将 ds1 中「产品名称」、「库存量」数据列分别拖入 A2、B2 单元格,输入对应标题。A2、B2 单元格添加「文本控件」,D2 单元格添加 「按钮控件」。表格设计如下图所示:
2)Sheet2:将 ds1 中「产品名称」、「订购量」数据列分别拖入 A2、B2 单元格,输入对应标题。A2、B2 单元格添加「文本控件」。表格设计如下图所示:
在 Sheet1 中,选中「按钮控件」,设置「属性>按钮名字」为「刷新」,再为该按钮添加一个点击事件,如下图所示:
JavaScript 代码为:
contentPane.reloadCurLGPPane();
注:contentPane.reloadCurLGPPane() 只是重新刷新当前 Sheet 页使其数据恢复初始状态,并不会触发报表重新计算或取数。即若报表中含有公式,或数据库中数据发生变化,只能使用 contentPane.refreshAllSheets() 刷新所有 Sheet。
保存报表,点击「填报预览」,效果如下图所示:
注:不支持移动端。
在对多 Sheet 进行填报的时候,往往需要从其他 Sheet 取数参与计算,或者以其他 Sheet 的数据为依据,对当前 Sheet 的填报数据进行一定的约束,这就是跨 Sheet 校验。
1)Sheet1表格设计如下图所示:
2)新建Sheet2页面,表格设计如下图:
跨 Sheet 校验应用在两个方面:提交校验和 JS 校验 。
在提交数据之前对数据进行校验,例如,当前模板有 2 个 Sheet,Sheet1 里面的某个数据与 Sheet2 里面的某个数据的和必须满足特定条件。
点击模板>报表填报属性,切换到数据校验标签,添加一个内置校验,如下图所示:
校验公式为'sheet1'!A2+'sheet2'!B2>1000,校验出错信息为 shee1 的 A2 单元格与sheet2 的 B2 单元格和值太小
注:校验公式中直接跨 Sheet 取数进行计算,跨 Sheet 取数详细请查看多 Sheet 数据计算
使用 JS 对多 Sheet 进行校验,原理是将其他 Sheet 的数值通过FR取数方法赋值给 JS 里面定义的参数,然后参与校验。
给 Sheet2 的 B2 单元格的控件添加一个编辑结束事件,如下图所示:
JS 代码为:
var para=contentPane.getCellValue(0,0,1);//获取sheet1里面的A2单元格数据 var value=this.getValue();//获取当前单元格数据 var sum=parseInt(para)+parseInt(value);//将字符串转换为整形并求和 if(sum<1000){alert("shee1的A2单元格与sheet2的B2单元格和值太小");}
由上图的 JS 代码可知,在 JS 中进行跨 Sheet 校验,获取其他 Sheet 的单元格值可通过方法 contentPane.getCellValue(sheet 号,列号,行号); //sheet 号,列号,行号是从 0 开始来获取,详细请参照 填报预览 JS 实例
PC端
1)保存模板,点击填报预览,效果如下图所示:
2)移动端
在多 Sheet 引用中,Sheet间存在相互依赖的关系。
1)新建 3 个 Sheet,将 Sheet 分别重命名为 A、B、C,报表设计如下图所示:
Sheet1(重命名为A):
Sheet2(重命名为B):
注:若在 Sheet2 中,见 A2 单元格公式改为='A'!A2,那么Sheet1和Sheet2就会出现由于依赖关系引发的计算错误,Sheet1 和 Sheet2 的 A2 单元格都不能显示。
Sheet3(重命名为C):
点击数据分析预览,(没改动Sheet2的A2单元格的公式前)效果如下图所示:
改动Sheet2的A2单元格的公式后,如下图所示:
注:通过2张图我们可以发现由于依赖关系而引发的计算错误。
已完成模板可参见:
%FR_HOME%\webapps\webroot\WEB-INF\reportlets\doc\Form\MultiSheetReport\跨Sheet校验.cpt
%FR_HOME%\webapps\webroot\WEB-INF\reportlets\doc\Form\MultiSheetReport\多Sheet相互依赖关系.cpt
点击下载模板:
重新加载当前Sheet.cpt
跨Sheet校验.cpt
多Sheet相互依赖关系.cpt
文 檔回 饋
滑鼠選中內容,快速回饋問題
滑鼠選中存在疑惑的內容,即可快速回饋問題,我們將會跟進處理。
不再提示
10s後關閉