昨天提到了如何在Grid的Cell中下拉列表框,今天將演示如何在Grid的Cell中實現下拉Grid,這也是UltraGrid提供的一個很好的特性。
1. 拖放一個Grid到Form中,添加一些Band Column,然后設置Team欄位為DropDown或DropDownList類型
注意:設置為DropDown,則該欄位可以允許手工輸入數據;
設置為DropDownList,則該欄位只允許選擇,不允許手工輸入數據。

2. 拖放一個UltraDropDown到Form的隨意一個地方(最好放到邊角上,不蓋住其他控件為原則,因為它本身是Visible的,所以這樣方便其他控件的布局)

3. 像編輯Grid一樣編輯UltraDropDown的Column,增加兩個Column,一個是Name,一個是Description,用來分別呈現Team的兩個屬性
注意:因為Grid中的Cell一般只放單筆記錄,所以該UltraDropDown應該只允許單選,所以需要設置其Presets為ListBox-single-select(Default)

4. 在Form Load或Form構造函數中將UltraDropDown綁定特定數據源

5. 在Grid的InitializeLayout事件中關聯Column和UltraDropDown
如第二句所示

6. 大功告成
點擊第一行的Team Cell,彈出Grid如下

7. 相關事件
如果想要做一些關聯操作,如選中BO3后,將其Description值(或其他下拉Grid中的值)一并帶入Grid的另外一個Cell中,則可以采用如下方式
UltraDropDown的RowSelected事件中記錄選中的Row

在Grid的相關事件中根據選中的Row進行賦值動作