當前為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. 索引

附件列表


主題: 原簡體文檔
  • 有幫助
  • 沒幫助
  • 只是瀏覽

文 檔回 饋

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

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

不再提示

9s後關閉

反饋已提交

網絡繁忙