gpt4 book ai didi

c# - 带有 checkBoxEdit 列的 DevExpress XtraGrid 控件

转载 作者:太空宇宙 更新时间:2023-11-03 22:00:28 35 4
gpt4 key购买 nike

我有一个 DevExpress XtraGrid控件具有三列和一个未绑定(bind)的 checkBoxEdit 列,供用户在从网格中删除项目时进行选择。我能够在 xtraGrid 上添加 checkBoxEdit。但是,我不知道如何删除选定列表的主键。任何想法都受到高度赞赏。谢谢

最佳答案

我相信你可以使用以下方法:

void InitGrid() {
gridControl1.DataSource = new List<Person> {
new Person(){ ID = 0 },
new Person(){ ID = 1 },
new Person(){ ID = 2 }
};
gridView.Columns["ID"].Visible = false;
gridView.Columns.Add(new DevExpress.XtraGrid.Columns.GridColumn()
{
UnboundType = DevExpress.Data.UnboundColumnType.Boolean,
Caption = "Mark as Deleted",
FieldName = "IsDeleted",
Visible = true,
});
}
IDictionary<int, object> selectedRows = new Dictionary<int, object>();
void gridView1_CustomUnboundColumnData(object sender, CustomColumnDataEventArgs e) {
int id = (int)gridView.GetListSourceRowCellValue(e.ListSourceRowIndex, gridView.Columns["ID"]);
if(e.IsGetData)
e.Value = selectedRows.ContainsKey(id);
else {
if(!(bool)e.Value)
selectedRows.Remove(id);
else selectedRows.Add(id, e.Row);
}
}
void OnDelete(object sender, System.EventArgs e) {
//... Here you can iterate thought selectedRows dictionary
}
//
class Person {
public int ID { get; set; }
public string Name { get; set; }
public string Age { get; set; }
}

相关帮助主题:

关于c# - 带有 checkBoxEdit 列的 DevExpress XtraGrid 控件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10347505/

35 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com