在報(bào)表參數(shù)中,可通過添加參數(shù)控件的編輯后事件來實(shí)現(xiàn)用一個參數(shù)控制另一個參數(shù)。以下例子是用參數(shù)username來對state置數(shù),username為下拉框自定義的幾個名字,state為單選按鈕,1和2。當(dāng)username有值時,取state的狀態(tài),要是2,則置為1,若為1,則不變;當(dāng)沒有值時,取state的狀態(tài),要是2,則不變,若為1,則置為2。
1. 連接數(shù)據(jù)庫FRDemo
2. 設(shè)計(jì)模板
2.1 新建報(bào)表
2.2 定義參數(shù)
在菜單欄中選擇報(bào)表|報(bào)表參數(shù),打開參數(shù)定義面板,添加兩個參數(shù)state和username,默認(rèn)值選擇字符串形式,如下圖
2.3 參數(shù)設(shè)計(jì)
打開參數(shù)設(shè)計(jì)界面,按照下圖安排參數(shù)的位置

l state控件類型選擇單選按鈕組,數(shù)據(jù)為自定義的1和2,如圖

l username控件類型為下拉框,數(shù)據(jù)也為自定義的幾個數(shù)據(jù),如圖

2.4 事件編輯
在username的事件編輯中添加編輯后事件,JS代碼如下
var state= this.options.form.getWidgetByName("state");
var username = this.options.form.getWidgetByName("username").getValue();
if (!username){
state.setValue(2);
}else{
state.setValue(1);
}
該段代碼是用來對state參數(shù)置數(shù),當(dāng)username為空時,將state置數(shù)為2,當(dāng)username有值時,將state置數(shù)為1,如圖所示

3. 保存并預(yù)覽
點(diǎn)擊設(shè)計(jì)器分頁預(yù)覽,當(dāng)username有值是,state置數(shù)為1

當(dāng)username為空時,state置數(shù)為2

注意,state無法通過username置數(shù)為,Js里面,state為0,默認(rèn)返回false
以上例子是獲得控件的實(shí)際值。
通過該控件取該控件的顯示值方法是arguments[0],
通過該控件取另一個控件的值方法是
this.options.form.getWidgetByName(“所要獲得顯示值的控件名”).options.items [i].text
另外,一個控件無法對另一個控件的顯示值置數(shù)。