DevExpress- CheckedListBoxControl DataSource属性存在BUG
Posted on 2011-02-09 09:51 Tecky Li 阅读(2108) 评论(2) 编辑 收藏 举报前几天在开发的时候,用到了Dev中的CheckedListBoxControl,我使用DataSource属性,给其绑定了一个List对象。界面显示都挺正常的,当若干个项的复选框被选中的后,它的checkedListBoxControl1.CheckedItems也是正常的。
唯独的问题是在代码中得到的checkedListBoxControl1.Items.Count 为0,自然就不能遍历控件的中的所有项。checkedListBoxControl1能够正确获得某个Item对象的方法就剩下GetItemValue(idx)、SetItemChecked等。
如果你也遇到这种情况,请使用下面的方法来遍历所有的Item,并做出相应的处理:
第一个例子是全不选:
public void ClearCheckState() { int idx = 0; while (checkedListBoxControl1.GetItemValue(idx) != null) { checkedListBoxControl1.SetItemChecked(idx, false); idx++; } }
第二个例子是遍历每个选项的Value
int idx = 0; while (checkedListBoxControl1.GetItemValue(idx) != null) { object obj = checkedListBoxControl1.GetItemValue(idx); // 你要做的处理逻辑 idx++; }
当然,如果你不是通过DataSource进行绑定,而是通过Items.add来添加的话,上面的问题就不会存在。