Ich habe folgendes Problem: Ich habe eine Liste „lst“ von „Person“ Objekte, und ich habe sie in einem Datagridview eine Dataview-Objekt (Ich brauche es für Filter)DataBoundItem mit Dataview
DataTable dt = Request.ListToDataTable(lst);
dw = new DataView(dt);
dw.Sort = "age ASC";
dataGridView1.DataSource = dw;
Wenn ich auf eine Schaltfläche klicke, muss ich den Wert eines Felds der Person-Klasse abrufen, das ich in einer versteckten Spalte relativ zur ausgewählten Zeile einfüge. Um das zu tun, die ich benutze:
Person val = dataGridView1.SelectedRows[0].DataBoundItem as Person;
Debug.WriteLine(val.id);
aber wenn ich das Programm ausführen, ist das Ergebnis ein Absturz, wahrscheinlich, weil das gebundene Element ist keine Person Objekt, sondern ein Element Datatable. Kann mir jemand zeigen, wie ich dieses Element bekommen kann? Wenn die Kolumne nicht versteckt wäre, wäre es leicht gewesen, aber auf diese Weise kann ich nicht herausfinden, wie ich sie erhalte! Danke an alle
do lst.Sort(); dataGridView1.DataSource = lst; anstelle des aktuellen Codes. –
Ich brauche Dataview einfach hinzufügen und entfernen Sie Filter auf die Datagrid Elemente – kaharas
Wo 'Request.ListToDataTable()' kommen aus? Wie auch immer, das scheint der Ort zu sein, an dem Ihre Person-Objekte in DataRows konvertiert werden. Sie können nicht zurückgeworfen werden. –