1. 概述
控件有很多的方法,比如控制控件是否可见,是否可用等等,在调用控件方法前必须要获取到控件。从 6.5.5 版本开始,在cpt 和 frm 的参数界面,在 cpt 的填报界面和在 frm 的 body 主体中,都可以获取到控件,并引用控件的方法。
2. 获取控件
在参数界面、决策报表界面获取控件的方法是相同的,先获取决策报表,再通过控件名称来获取控件,如下所示:
var Widget = this.options.form.getWidgetByName("WidgetName");
在 cpt 填报时获取控件,先获取报表对象 contentPane,再通过控件名称来获取控件,如下所示:
var Widget = contentPane.getWidgetByName("WidgetName");
填报获取控件接口详情可参考:控件接口
参数面板获取控件接口详情可参考:参数界面JS实例
决策报表获取控件接口详情可参考:决策报表JS实例
注:若 JavaScript 脚本在当前控件的事件中,可以不用获取当前控件,直接使用 this,如 this.getValue();
3. 控件常用方法
通过上述的方法可以获取到控件,获取到控件后就可调用控件的方法。例如我们获取的控件变量为 Widget,那么可以通过 Widget.getValue() 来获取控件值。
假设获取到的控件变量为 Widget,以下列出控件的方法:
方法名 | 方法 | 说明 |
---|---|---|
取值 | Widget.getValue() | 获取控件值 |
取值 | Widget.getText() | 获取控件显示值 |
赋值 | Widget.setValue() | 给参数控件赋值,不建议给填报控件赋值, 注:填报分控件和单元格,setValue() 是给控件赋值,每次给控件赋完值后,将值传给单元格之前会被清空,最后不能给单元格赋值。填报页面给单元格赋值建议使用 setCellValue()给控件赋值,示例可参考:JS获取填报单元格值或给单元格赋值 |
重置 | Widget.reset() | 清空数据 |
是否可见 | Widget.isVisible() | 返回控件是否可见,返回 true 可见,false 不可见 |
设置可见 | Widget.setVisible(boolean) | 设置控件是否可见,参数为 true 可见,false 不可见 |
设置可用 | Widget.setEnable(boolean) | 设置控件是否可用,参数为 true 可用,false 不可用 |
是否可用 | Widget.isEnabled() | 返回控件是否可用,返回 true 可用,false 不可用 |
调用控件事件 | Widget.fireEvent("事件名称") | 设置控件触发指定名字的事件,事件名称可查看 控件事件 第 2 章表格中的事件名称 |
4. 示例
获取到控件后,即可对调用控件的方法设置控件属性,从而实现一些报表效果。如通过按钮控件控制隐藏和显示图表块、清空控件内容、限制控件填报次数 等。
参数界面示例可参考:参数界面JS实例
决策报表示例可参考:决策报表JS实例
填报示例可参考帮助文档 填报应用>填报进阶目录相关示例。