表单JS实例

  • 文档创建者:RosieY
  • 编辑次数:6次
  • 最近更新:RosieY 于 2021-02-05
  • 1. 概述

    决策报表中,使用 JavaScript 对一些功能进行二次开发时,部分接口和普通报表一致,同时也会具有一些决策报表特有的接口,如实现指定隐藏 Tab 块的接口。本文将列举一些决策报表适用的 JS 接口,用户可通过学习,开发实现一些功能。

    2. 接口

    2.1 控件

    2.1.1 获取控件

    1)获取的控件在参数面板内,Component为控件名称:this.options.form.getWidgetByName('Component') 

    2)获取的控件在 body 内,Component为控件名称:_g().getWidgetByName('Component') 

    注1:按钮在 body 中时,使用 this.options.form.getWidgetByName('Component') 取不到参数面板中控件。

    注2:body 上添加事件通过_g().getWidgetByName('Component')获取控件时需要加 setTimeout() 延迟函数。 

    2.1.2 控件方法

    获取控件后,可对控件进行一些设置。对控件可执行的方法如下表,Widget 为获取的控件。

    方法名方法说明
    取实际值Widget.getValue()获取控件实际值
    取显示值Widget.getText()获取控件的显示值
    赋实际值Widget.setValue()

    给参数控件赋值,不建议给填报控件赋实际值

    注:使用setValue()给下拉树赋值,需要添加一个 false 参数,即 setValue(value,false)

    赋显示值Widget.setText()

    给参数控件赋显示值

    重置Widget.reset()清空数据
    是否可见Widget.isVisible(boolean)返回控件是否可见,返回 true 可见,false 不可见
    设置可见Widget.setVisible(boolean)设置控件是否可见,参数为 true 可见,false 不可见
    设置可用Widget.setEnable(boolean)设置控件是否可用,参数为 true 可用,false 不可用
    是否可用Widget.isEnabled()返回控件是否可用,返回 true 可用,false 不可用
    调用控件事件Widget.fireEvent("事件名称")设置控件触发指定名字的事件
    是否可以为空Widget.options.allowBlank=false 设置控件是否可为空,true 可为空,false 不可为空

    2.2 报表块和图表块

    2.2.1 获取报表块和图表块

    加获取事件的控件在参数面板内,Component为控件名称:_g().getWidgetByName('Component') 

    加获取事件的控件在 body 内,Component为控件名称:this.options.form.getWidgetByName('Component') 

    注:body 上添加事件通过_g().getWidgetByName('Component')获取控件时需要加 setTimeout() 延迟函数。

    2.2.2 方法

    获取报表块或图表块后,可进行一些设置。可执行的方法如下表,Widget 为获取的图表块或报表块。

    方法名
    方法说明
    设置可见Widget.setVisible(boolean)设置控件是否可见,参数为 true 可见,false 不可见

    2.3 Tab块

    2.3.1 获取 tabpane 块

    加获取事件的控件在参数面板内,tabpane 为整体 Tab 块的名称:_g().getWidgetByName('tabpane') 

    加获取事件的控件在 body 内,tabpane 为整体 Tab 块的名称:this.options.form.getWidgetByName('tabpane') 

    注:body 上添加事件通过_g().getWidgetByName('tabpane')获取控件时需要加 setTimeout() 延迟函数。

    2.3.2 方法

    方法名
    方法说明
    设置可见setTabVisible(Tabarry, boolean)

    Tabarry 为一个数组显示,用来定位具体为哪一个 Tab,

    boolean 设置是否可见,参数为 true 可见,false 不可见

    获得 Tab 的索引getShowIndex() 获得当前展示 Tab 的索引
    展示 TabshowCardByIndex(index)展示定位的 Tab ,index 为 Tab 的索引

    2.4 刷新

    方法名
    方法说明
    跳转到指定页(可以用于刷新当前报表块)gotoPage( pn, para, noCache ) 

    pn : Number 要跳转的页,从1开始

    para : JSON 跳转页面是携带的参数

    noCache : Boolean 不是用缓存,强制取新的数据

    提交参数并加载报表内容_g().parameterCommit()提交参数并加载报表主体内容

    2.5 其他

    以下 JavaScript 语法相关的内容,可结合帆软提供的接口用在报表开发中。

    应用应用说明
    setInterval('location.reload();',time)

    setInterval() 方法可按照指定的周期(time,以毫秒计)来调用函数或计算表达式。

    location.reload(forceGet) 重新载入当前文档 

    setInterval('location.reload();',time) 定时刷新,即每time毫秒刷新一次

    window.location用于获得当前页面的地址 (URL),并把浏览器重定向到新的页面。
    encodeURI(url)encodeURI 函数可把字符串进行 URL 编码,url 为含有 URI 或其他要编码的文本
    window.parentparent 属性返回当前窗口的父窗口
    location.href href 属性是一个可读可写的字符串,可设置或返回当前显示的文档的完整 URL

    3. 索引

    附件列表


    主题: 二次开发
    • 有帮助
    • 没帮助
    • 只是浏览
    • 评价文档,奖励 1 ~ 100 随机 F 豆!

    售前咨询电话

    400-811-8890转1

    在线技术支持

    在线QQ:800049425

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

    总裁办24H投诉

    热线电话:173-1278-1526