我有DevExpress XtraGrid的问题。我不会写一个CheckedComboBoxEdit列,但我不知道如何让它们分开工作。 例如,在第一行中,我的CheckedComboBoxEdit将包含“a”和“b”,在第二行中包含“b”,“c”,“d”。
我以为我可以这样使用......
List<CheckedListBoxItem> listOfCheckedItems = new List<CheckedListBoxItem>();
listOfCheckedItems.Add( new CheckedListBoxItem( "test" ) );
CheckedComboBoxEdit checkedCombo = new CheckedComboBoxEdit();
gridView1.AddNewRow();
gridView1.SetRowCellValue( gridView1.RowCount - 1, gridView1.Columns[ 1 ], checkedCombo );
其中:gridView1是我的gridControl的MainView。
答案 0 :(得分:1)
您可以使用ColumnView.ShownEditor
活动和ColumnView.FocusedRowHandle
以及ColumnView.FocusedColumn
和ColumnView.ActiveEditor
属性。
这是一个例子:
private void gridView1_ShownEditor(object sender, EventArgs e)
{
if (gridView1.FocusedColumn.FieldName != "YourCheckedComboBoxColumn")
return;
var editor = (CheckedComboBoxEdit)gridView1.ActiveEditor;
editor.Properties.Items.Clear();
var value = gridView1.GetRowCellValue(gridView1.FocusedRowHandle, "YourEyeColumn").ToString();
if (value == "Eye Color")
editor.Properties.Items.AddRange(new CheckedListBoxItem[] { new CheckedListBoxItem("Green"), new CheckedListBoxItem("Blue"), new CheckedListBoxItem("Grey") });
else if (value == "Eye Size")
editor.Properties.Items.AddRange(new CheckedListBoxItem[] { new CheckedListBoxItem("Big"), new CheckedListBoxItem("Medium"), new CheckedListBoxItem("Small") });
}