|
在報(bào)表參數(shù)中,可通過添加參數(shù)控件的編輯后事件來實(shí)現(xiàn)用一個(gè)參數(shù)控制另一個(gè)參數(shù)。以下例子是用參數(shù)username來對(duì)state置數(shù),username為下拉框自定義的幾個(gè)名字,state為單選按鈕,1和2。當(dāng)username有值時(shí),取state的狀態(tài),要是2,則置為1,若為1,則不變;當(dāng)沒有值時(shí),取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ù)定義面板,添加兩個(gè)參數(shù)state和username,默認(rèn)值選擇字符串形式,如下圖
2.3 參數(shù)設(shè)計(jì) 打開參數(shù)設(shè)計(jì)界面,按照下圖安排參數(shù)的位置 ![]() l state控件類型選擇單選按鈕組,數(shù)據(jù)為自定義的1和2,如圖
![]() l username控件類型為下拉框,數(shù)據(jù)也為自定義的幾個(gè)數(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); } 該段代碼是用來對(duì)state參數(shù)置數(shù),當(dāng)username為空時(shí),將state置數(shù)為2,當(dāng)username有值時(shí),將state置數(shù)為1,如圖所示
![]() 1. 保存并預(yù)覽 點(diǎn)擊設(shè)計(jì)器分頁預(yù)覽,當(dāng)username有值是,state置數(shù)為1
![]() 當(dāng)username為空時(shí),state置數(shù)為2
![]() 注意,state無法通過username置數(shù)為,Js里面,state為0,默認(rèn)返回false 以上例子是獲得控件的實(shí)際值。 通過該控件取該控件的顯示值方法是arguments[0], 通過該控件取另一個(gè)控件的值方法是 this.options.form.getWidgetByName(“所要獲得顯示值的控件名”).options.items [i].text 另外,一個(gè)控件無法對(duì)另一個(gè)控件的顯示值置數(shù)。 |
|
|