以编程方式检查DevExpress CheckedComboBoxEdit项目

4
我有一个绑定到TableAdapter的CheckedComboBoxEdit,它用一系列项目填充。
我有一个单独的查询返回一个数据集,其中列出需要被选中的项目。
我需要遍历CheckedComboBoxEdit中的项目以根据需要对其进行选中。
如何使CheckedComboBoxEdit反映来自查询的数据,该查询返回需要被选中的项目列表?
我使用Visual Studio 2010和DevExpress 10.2.9中的C#语言。
感谢任何关于此问题的帮助,并且任何其他解决方案也非常欢迎。

你是否预先知道复选框的名称?还是它们是动态的?如果您知道它们,那么编写检查每个复选框的选中状态然后执行某些操作的方法。 - Botonomous
@Anon:CheckedComboBox的项目名称是动态的。我有一个数据集,列出了需要选中的所有CheckedComboBox项目。我不确定何时以及如何应用它。我应该使用哪个事件来实现? - Marwan مروان
CheckedComboBox是什么?这是您制作的自定义控件吗?您说值存储在数据集中,那为什么不只需循环遍历数据集,查找设置复选框为选中状态的条件呢? - Botonomous
@Anon:CheckedComboBoxEdit http://documentation.devexpress.com/#WindowsForms/clsDevExpressXtraEditorsCheckedComboBoxEdittopic - Marwan مروان
@banging:添加了一个问题。谢谢。 - Marwan مروان
3个回答

2

CheckedComboBoxEdit的项目状态与其EditValue相关联。您可以通过设置适当的编辑器值来勾选项目:一个由分隔符号分隔的值列表(每个项目都有值和显示文本)。分隔符号通过RepositoryItemCheckedComboBox.SeparatorChar属性指定。


注意:SeparatorChar 的默认值是逗号。https://documentation.devexpress.com/#windowsforms/DevExpressXtraEditorsRepositoryRepositoryItemCheckedComboBoxEdit_SeparatorChartopic - Nathan Koop

2
以下是如何进行操作的步骤:
checkedComboBoxEdit1.Properties.SeparatorChar = ';';
// Set the edit value, assuming you have items named "one",and "two"
checkedComboBoxEdit1.SetEditValue("one; two");

这里是完整的示例。


1
短代码片段。
string str = "first;second";
string[] array = str.Split(';');
char separator = checkedComboBoxEdit1.Properties.SeparatorChar;
string result = string.Empty; 
foreach (var element in array){
   result += element + separator;
}

checkedComboBoxEdit1.SetEditValue(result);

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接