/ / DevExpress XtraGrid Control mit checkBoxEdit Spalte - c #, winforms, deexpress, xtragrid

DevExpress XtraGrid Control mit CheckBoxEdit-Spalte - c #, winforms, deexpress, xtragrid

Ich habe einen DevExpress XtraGrid Kontrolle mit drei Spalten und einem ungebundenencheckBoxEdit-Spalte, die Benutzer beim Löschen von Elementen aus dem Raster auswählen können. Ich kann das checkBoxEdit auf dem xtraGrid hinzufügen. Ich habe jedoch keine Ahnung, wie ich die ausgewählten Listen "Primärschlüssel löschen kann. Jede Idee wird sehr geschätzt. Danke

Antworten:

4 für die Antwort № 1

Ich glaube, dass Sie den folgenden Ansatz verwenden können:

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; }
}

Verwandte Hilfethemen: