Refval開窗選單元件,用戶通過按鈕打開一個grid,同時可以查詢每個欄位上的資料。
Step1>       
打開rOrders表單,找到dfMaster這個DataForm元件,Columns編輯器中的CustomerID,將Editor修改為refval,這樣這個欄位就是以refval形式顯示了。

Step2>       
接下來同ComboBox一樣,可以設定TextField和ValueField的欄位。Columns這個屬性也可以不設定,在不設定的情況下,系統自動會根據TextField和ValueField設定的欄位來顯示在grid上,同時根據ValueTitle和ValueTitle顯示在Grid的Caption上。

Step3>       
設計完成後,我們就可以查看瀏覽的效果。

Step4>       
Refval元件還有一個強大的功能,就是ColumnMatch傳回功能。我們再次打開dfMaster這個DataForm元件的CustomerID欄位,EditorOptions編輯器進入,找到ColumnMatches屬性。

Step5>       
加入2個Items,分別為ShipCity、ShipCountry,ShipCity的SourceFieldName點選City、TargetFieldName點選ShipCity;ShipCountry的SourceFieldName點選Country、TargetFieldName點選ShipCountry。


Step6>       
保存後看一下效果:選擇一筆客戶資料後,會帶回該筆資料的縣市、國家值到訂單上的出貨城市、出貨國家欄位。

Step7>       
若要對Refval元件進行過濾,可以使用WhereItems功能。一樣打開dfMaster這個DataForm元件的CustomerID欄位,EditorOptions編輯器進入,找到WhereItems屬性。

Step8>       
加入一個過濾選項,對資料來源的"國家"欄位做過濾,Field選擇Country,過濾方式有三種,選擇其中一種方式使用:
(1)WhereField:過濾方式依據表單中的欄位值。
(2)WhereMethod:過濾方式依據Function(JS/CS),並搭配RemoteMethod屬性,若為JS方法,RemoteMethod設為False;若為C#方法,RemoteMethod設為True。
(3)WhereValue:過濾方式依據固定值。這裡我們用此種方式,填上France,代表只過濾出國家=France的資料。
Operator屬性為運算子符號,在此設置為=。

Step9>       
保存後我們來查看一下結果,資料來源已過濾出Country=France的資料:

Related Topics