1. 描述
在對參數面板進行 JavaScript 二次開發時,比如說對參數面板上的控件進行再操作,就需要獲取到參數面板上的控件,那麽如何使用 JavaScript 來獲取到參數面板上的控件呢?
2. 獲取控件
2.1 直接在參數面板中獲取
直接在參數面板中使用 JavaScript 并獲取控件,那麽就可以直接使用:
this.options.form.getWidgetByName("widgetname")
注:如果是獲取當前控件可以直接使用 this 替代。
2.2 在 Web 集成頁面中獲取
在web頁面中獲取 FineReport 報表裏面的參數界面,那麽就需要使用:
document.getElementById('reportFrame').contentWindow.contentPane.parameterEl.getWidgetByName('widgetname')
注:其中 reportFrame 是 Web 頁面中嵌入 FineReport 報表的 iframe
2.3 在報表主體(單元格)獲取
在報表主體即單元格中獲取參數面板的控件需要使用:
contentPane.parameterEl.getWidgetByName("widgetname")
3. 控件方法列表
獲取到控件之後,需要對該控件進行再操作,可以獲取其控件值,賦值,設置是否可見等等方法,如下列表:
方法 | 說明 |
---|---|
Widget.getValue() | 獲取控件實際值 |
Widget.getText() | 獲取控件的顯示值 |
Widget.setValue() | 給參數控件賦值,不建議給填報控件賦實際值 |
Widget.setText() | 給參數控件賦顯示值 |
Widget.reset() | 清空數據 |
Widget.isVisible(boolean) | 返回控件是否可見,返回 true 可見,false 不可見 |
Widget.setVisible(boolean) | 設置控件是否可見,參數爲 true 可見,false 不可見 |
Widget.setEnable(boolean) | 設置控件是否可用,參數爲 true 可用,false 不可用 |
Widget.isEnabled(boolean) | 返回控件是否可用,返回 true 可用,false 不可用 |
Widget.fireEvent("事件名稱") | 設置控件觸發指定名字的事件 |
Widget.options.allowBlank=false | 設置控件是否可爲空,true 可爲空,false 不可爲空 |
注:如果用 setValue() 給下拉樹賦值,需要添加一個 false 參數,即 setValue(value,false);value 爲需要賦給下拉樹的值注:其中 Widget 爲獲取到的控件。