反馈已提交

网络繁忙

当前为10.0版本文档,只有最新版本的文档支持在线编辑修改,如果想创建/编辑文档,请移步至 最新版帮助文档

控件接口

  • 文档创建者:星踪
  • 历史版本:33
  • 最近更新:RosieY 于 2022-01-10
  • 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,boolean)

    value:需要赋的值

    boolean:触发联动(true)和不触发联动(false),默认为false

    Widget.setValue("area",true)
    给控件赋显示值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.options.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);
    //遍历禁用控件
    }

    附件列表


    主题: 填报应用
    已经是第一篇
    已经是最后一篇
    • 有帮助
    • 没帮助
    • 只是浏览

    售前咨询电话

    400-811-8890转1

    在线技术支持

    请前往「服务平台」,选择「在线支持」

    热线电话:400-811-8890转2

    总裁办24H投诉

    热线电话:173-1278-1526