昨天提到了如何在Grid的Cell中下拉列表框,今天将演示如何在Grid的Cell中实现下拉Grid,这也是UltraGrid提供的一个很好的特性。
1. 拖放一个Grid到Form中,添加一些Band Column,然后设置Team栏位为
DropDown或
DropDownList类型
注意:设置为DropDown,则该栏位可以允许手工输入数据;
设置为DropDownList,则该栏位只允许选择,不允许手工输入数据。
![](https://p-blog.csdn.net/images/p_blog_csdn_net/venus0314/a389003234324de798f26f3a98c8ac05.png)
2. 拖放一个UltraDropDown到Form的随意一个地方(最好放到边角上,不盖住其他控件为原则,因为它本身是Visible的,所以这样方便其他控件的布局)
![](https://p-blog.csdn.net/images/p_blog_csdn_net/venus0314/e29856a6b15147fcafed68b98e124186.png)
3. 像编辑Grid一样编辑UltraDropDown的Column,增加两个Column,一个是Name,一个是Description,用来分别呈现Team的两个属性
注意:因为Grid中的Cell一般只放单笔记录,所以该UltraDropDown应该只允许单选,所以需要设置其Presets为ListBox-single-select(Default)
![](https://p-blog.csdn.net/images/p_blog_csdn_net/venus0314/6263bad68f8b45b4bedad10eaa98cdcc.png)
4. 在Form Load或Form构造函数中将UltraDropDown绑定特定数据源
![](https://p-blog.csdn.net/images/p_blog_csdn_net/venus0314/3073208d1f0f42c4b0517cd3e00de00c.png)
5. 在Grid的
InitializeLayout事件中关联Column和UltraDropDown
如第二句所示
![](https://p-blog.csdn.net/images/p_blog_csdn_net/venus0314/cfd227d5c2ff47c4b5a5fb8ec40058d9.png)
6. 大功告成
点击第一行的Team Cell,弹出Grid如下
![](https://p-blog.csdn.net/images/p_blog_csdn_net/venus0314/8ffb727d9b684c29aee5e7d1cb8d02ba.png)
7. 相关事件
如果想要做一些关联操作,如选中BO3后,将其Description值(或其他下拉Grid中的值)一并带入Grid的另外一个Cell中,则可以采用如下方式
UltraDropDown的RowSelected事件中记录选中的Row
![](https://p-blog.csdn.net/images/p_blog_csdn_net/venus0314/7c8cbe4b22f74507bd83284ce2ccc3fd.png)
在Grid的相关事件中根据选中的Row进行赋值动作
![](https://p-blog.csdn.net/images/p_blog_csdn_net/venus0314/54bc1a0b81354d319fc7629c15883f36.png)