在实际项目中,多工作表报表应用广泛。相较于单一工作表,其功能通常较为简洁。本文将借助智能报表工具FineReport,展示多工作表中的几个典型应用场景,帮助理解其在数据组织与展示方面的实用价值。
1、 刷新当前工作表内容
2、 编辑当前工作表时,如需刷新或重新加载,可点击相应按钮操作,具体见下图所示。
3、 刷新当前工作表将清除其编辑记录,但不会对其他工作表产生任何影响。
4、 打开设计界面,选择刷新按钮,为其设置点击事件,操作所示。
5、 JavaScript代码如下
6、 跨表数据核对
7、 在填写多个工作表时,常需引用其他工作表的数据参与计算,或依据其内容对当前工作表的输入进行限制,这种不同工作表之间的数据联动与核对机制,称为跨表校验。
8、 跨表单验证应用于提交验证与JavaScript验证两方面。
9、 提交验证
10、 提交数据前需进行校验,例如当前模板包含两个工作表,要求第一个表中某项数据与第二个表中对应数据之和必须符合预设条件。
11、 所示,进入模板菜单中的报表填报属性,选择数据校验选项卡,新增一项内置校验规则。设置校验公式为sheet1!A2+sheet2!B2>1000,当条件不满足时,提示错误信息:sheet1的A2单元格与sheet2的B2单元格数值之和过小。
12、 JS验证
13、 通过JS校验多个Sheet,利用FR取数方法将其他Sheet的数据赋值给JS变量,再进行校验操作。
14、 当编辑工作表2的B2单元格时,若其与工作表1中A2单元格数值之和小于1000,系统将弹出警告提示,具体效果所示。
15、 在Sheet2的B2单元格控件中设置编辑完成事件,具体操作所示。
16、 JS代码如下:
17、 获取工作表1中A2单元格的数据,通过contentPane的getCellValue方法实现,参数分别对应行、列和表单索引。
18、 获取当前单元格的值并赋给变量value。
19、 将两个字符串转换为整数后相加,结果赋值给变量sum。
20、 当总和小于1000时,弹出提示:shee1的A2单元格与sheet2的B2单元格之和过小。
21、 从上述JavaScript代码可以看出,若要在JS中实现跨工作表的数据校验,可通过调用contentPane.getCellValue方法来获取指定工作表中某个单元格的值。该方法接收三个参数:工作表索引、列索引和行索引,且所有索引均从0开始计数。
