从对象绑定到 devexpress 网格

Binding from object to devexpress grid

我有一个正常的数据绑定情况,我的基础问题对象属性绑定到 devexpress XtraGrid.GridControl 中的列。但是,我有一个文本 属性,其形式为“{Question|True},{Question|False}”。这些必须映射到网格中的复选框(每个 属性 可能有很多)。是否可以使用数据绑定将此字符串 属性 直接绑定到单元格,提供复选框编辑,或许使用 CheckedComboBox?我想在绑定过程中需要一个中间步骤来将原始字符串映射到复选框,然后从复选框映射回字符串。

否则我目前的想法是创建另一层对象,其中包含每个复选框选项的新对象,但如果我能以某种方式中断默认绑定过程,将上面的文本映射到一个 CheckComboBox 我可以直接绑定到底层对象。

如果我理解你的话,我认为你应该改变你的问题对象 包含 bool 属性。 Bool 属性作为复选框绑定到网格,因此它会自动工作。 我知道 属性 的真正价值应该是字符串“{Question|True}” 所以你可以这样设置属性:

    private string question;

private bool questionBool;
public bool QuestionBool{
get{return questionBool;}
set{
if(value) 
   question = "{Question|True}"};
else
   question = "{Question|False}";

questionBool = value;

}

我最终将文本转换为 CheckboxQuestionAndAnswer 对象的集合,然后将其绑定到网格,然后将它们转换回单个文本字符串以写回数据。