历史版本26 :填报JS接口说明 返回文档
编辑时间: 内容长度:图片数:目录数: 修改原因:

目录:

1. 获取控件对象编辑

功能接口参数说明示例支持移动端
获取参数面板控件_g().parameterEl.getWidgetByName(widgetname)widgetname:控件名称_g().parameterEl.getWidgetByName("area")
获取单元格控件_g().getWidgetByName(widgetname)widgetname:控件名称_g().getWidgetByName("area")
_g().getWidgetByCell(cell)cell:单元格编号_g().getWidgetByCell("A1")
_g().getWidgetByCell(FR.columnRow2CellStr({col:colindex, row:rowindex}))

colindex:列号,从0开始

rowindex:行号,从0开始

_g().getWidgetByCell(FR.columnRow2CellStr({col:0, row:0}))
获取单元格控件数组_g().getWidgetsByName(widgetname)widgetname:控件名称_g().getWidgetsByName("area")

获取当前控件

注:如用 setTimeout 设置了延时则不可使用

thisthis

2. 常用方法编辑

以下的 Widget 为【1. 获取控件对象】中使用相关接口获取到的控件对象。

功能接口参数说明
示例支持移动端
通用
获取控件实际值Widget.getValue()Widget.getValue()
获取控件显示值Widget.getText()Widget.getText()
给控件赋实际值Widget.setValue(value)value:需要赋的值Widget.setValue("area")
给控件赋显示值Widget.setText(value)value:需要赋的值Widget.setText("地区")

清空控件

注:不支持下拉树

Widget.reset()Widget.reset()
设置水印Widget.setWaterMark(value)value:水印文字Widget.setWaterMark("帆软")
判断控件是否可见Widget.isVisible()Widget.isVisible()
判断控件是否可用Widget.isEnabled()Widget.isEnabled()
设置控件是否可见Widget.setVisible(boolean)boolean:true(可见)和false(不可见)Widget.setVisible(false)
设置控件是否可用Widget.setEnable(boolean)boolean:true(可用)和false(不可用)Widget.setEnable(false)
设置控件是否可以为空Widget.options.allowBlank=boolean boolean:true(可空)和false(不可空)Widget.options.allowBlank=false 
获取单元格控件所在的单元格编号Widget.options.locationWidget.options.location

设置控件焦点

注:使用此方法必须设置延时,参考示例

Widget.editComp.focus()

var a = this;
//获取当前控件对象
setTimeout(function() {
a.editComp.focus();
//设置焦点
}, 50
触发控件的事件Widget.fireEvent(eventname)

eventname:事件名称。常用的事件如下:

  • 初始化后:afterinit

  • 编辑前:beforeedit

  • 编辑后:afteredit

  • 编辑结束:stopedit

  • 点击:click

  • 状态改变:statechange

  • 上传后:callback

  • 节点生成:nodeadd

Widget.fireEvent("click")
下拉(复选)框
设置控件是否可以自定义值Widget.options.customData=booleanboolean:true(可自定义)和false(不可自定义)Widget.customData=false
判断值是否在数据字典中Widget.isValueInList(value)value:需要判断的值Widget.isValueInList("牛奶")
修改下拉框选项的“不选”字样Widget.options.name4Empty=valuevalue:修改后的文字Widget.options.name4Empty="全部"
设置下拉(复选)框选项的最大显示个数Widget.options.maxCount=num num:最大个数Widget.options.maxCount=5 
设置下拉(复选)框选项的间隔Widget.options.sonHeight=numnum:间隔Widget.options.sonHeight=25
全选下拉复选框的值Widget.doSelectAll()Widget.doSelectAll()
取消全选下拉复选框的值Widget.deSelectAll()Widget.deSelectAll()
数字控件



设置是否允许小数Widget.options.allowDecimals=booleanboolean:true(允许小数)和false(不允许小数)Widget.options.allowDecimals=false
设置允许的小数位数Widget.options.maxDecLength=numnum:允许的最大小数位数Widget.options.maxDecLength=2
设置是否允许负数Widget.options.allowNegative=booleanboolean:true(允许负数)和false(不允许负数)Widget.options.allowNegative=false 
设置允许的最大值Widget.options.maxValue=numnum:最大值Widget.options.maxValue=10
设置允许的最小值Widget.options.minValue=numnum:最小值Widget.options.minValue=5
日期控件
设置日期校验格式Widget.options.format=typetype:日期格式Widget.options.format="yyyy-MM"
设置日期选择框样式Widget.viewMode=view

view:选择框样式。具体样式如下:

  • 年月:0

  • 年月日:1

  • 时分秒:2

  • 年月日时分秒:3

Widget.viewMode=0
设置起始日期Widget.setStartDate(startdate)startdate:起始日期,建议使用yyyy-MM-dd格式Widget.setStartDate("2021-01-05")
设置结束日期Widget.setEndDate(enddate)enddate:结束日期,建议使用yyyy-MM-dd格式

Widget.setEndDate("2021-01-20")

3. 注意事项编辑

1)_g()是一种兼容的写法,在填报预览下,其等同于contentPane。

2)如果是在初始化事件中使用 JS 但未生效,可以尝试加上延时函数 setTimeout。示例如下。

setTimeout(function() {
_g().getWidgetByCell("A1").setEnable(false);
//将A1单元格控件设置为不可用
}, 500)
//延时0.5s执行

3)当使用了延时函数 setTimeout 时,this 对象就会失效,可以将 this 放在延时函数外进行赋值调用来避免。示例如下。

var widget=this;
setTimeout(function() {
widget.setEnable(false);
//将当前控件设置为不可用
}, 500)
//延时0.5s执行

4)当清空单元格控件时,建议同时清空控件值和单元格值,否则可能会出现清空失败的情况。示例如下。

_g().getWidgetByCell("A1").setValue("");
//清空A1单元格控件值
_g().curLGP.setCellValue("A1", "");
//清空A1单元格值

注:给单元格控件赋值时同理,最好同时给控件和控件所在单元格都赋值

5)如果控件设置了不能为空,则会使清空失效。设置了不允许自定义值,则只能赋数据字典中存在的值。

6)如果 Widget 是一个控件数组,则不能直接调用相关方法,需要通过遍历来实现。示例如下。

var widgets = _g().getWidgetsByName("demo");
//获取控件名称为demo的控件数组
for (i = 0; i < widgets.length; i++) {
widgets[i].setEnable(false);
//遍历禁用控件
}