反饋已提交

網絡繁忙

當前為10.0版本文檔,更多實例內容將在最新幫助文檔中展現,點選跳轉至 最新版幫助文檔

表单JS实例

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. 索引

附件列表


主題: 原简体文档
已經是第一篇
已經是最後一篇
  • 有幫助
  • 沒幫助
  • 只是瀏覽
  • 圖片不清晰
  • 用語看不懂
  • 功能說明看不懂
  • 操作說明太簡單
  • 內容有錯誤

文 檔回 饋

滑鼠選中內容,快速回饋問題

滑鼠選中存在疑惑的內容,即可快速回饋問題,我們將會跟進處理。

不再提示

10s後關閉