报表中JavaScript使用总结
JavaScript都用在哪些地方?
1. 填报表中的校验规则
2. 填报表中的自动计算
3. 填报表中的自定义输入控件
4. 单元格中的超链接
5. 页面中的润乾内置Javascript函数
6. 个性化的页面处理需求
分
类图
校验
在校验规则中我们规定使用Javascript规则来对数据进行校验
需要注意的是:
1. 在合法性检查公式中,可以直接通过单元格的名称来引用单元格的值,如A1,A2等。
2. 如果随着单元格的扩展,合法性检查属性要被复制到每一行每一列,且被引用的单元格也跟着动态变化,那么该单元格要加上${},表示动态引用,例如${A1},${A2}等等。
3. 若是行式报表则不需要加${},直接写A1,A2即可。
自动计算
用户在网页上录入数据时触发另外一些单元格自动计算,因此自动计算表达式采用的是javascript表达式或者函数,但是可以引用单元格的值。
自定义输入控件
由于特殊需求,需要使用润乾没有提供的JS输入控件,那么就可以在报表系统中使用自定义的输入控件。
适用范围:
1. 在填报表中:适用于数据类型为文本、可写的单元格。
2. 在参数表单中:适用于对应参数变量的单元格。
例如:自定义下拉日历控件:
在需要显示下拉日历单元格的填报属性中的编辑风格选择自定义:
在页面中引入自定义的控件:
在页面中自定义控件的效果:
超链接
报表在网页上展现时,经常用到超链接属性,用来触发执行某段javascript代码,完成相应功能和业务逻辑等.
例如:我们要在报表中的某一个单元格设置一个超链接属性,在点击这个单元格的时候触发一个js函数:
当点击单元格的时候,触发openCommonView(),传入参数并执行.
润乾内置Javascript函数
报表里提供了基本的功能函数,方便页面中直接调用或者进行封装,组合来完成一些复杂的业务逻辑.
例如:
_save() //保存
_toPage( ) //翻页
_submitReport() //提交
详细内容,可参考应用开发手册中对内置Javascript函数的介绍
例如:要完成对报表操作的一系列功能,我们就可以用内置JS函数进行组合.
Function report(){
report1_submit();
report1_print();
}
当触发report()函数时,先完成报表的提交功能,接着打印报表.
个性化的页面处理需求
报表中的内置功能有些时候并不能完全满足客户的需要,这就需要客户根据自己的业务逻辑来编写一些代码来丰富整个应用.这其中以Javascript函数的需求最为普遍.
例如:折叠报表
有些时候报表的数据分为多个层级,每个层级的数据很多.客户想在最开始展现的时候,只显示第一个层级,然后通过点击父级来展开子级.这就需要设计一个类似树形结构的报表.
实现思路:报表在网页上展示时,整体是一个HTML的table对象。因此可以在单元格中加入一些标识,然后通过javascript动态设置css的display属性来实现。
具体方法详见:
http://www.runqian.com.cn/archives/1160.html