Ich verwende ein datengebundenes Windows Forms DataGridView
. Wie gehe ich von einer vom Benutzer ausgewählten Zeile in der DataGridView
zur DataRow
der DataTable
, die ihre Quelle ist?
DataRow row = ((DataRowView)DataGridViewRow.DataBoundItem).Row
Angenommen, Sie haben eine gewöhnliche DataTable
gebunden.
MyTypedDataRow row = (MyTypedDataRow)((DataRowView)DataGridViewRow.DataBoundItem).Row
Angenommen, Sie haben eine typisierte Datentabelle gebunden.
Weitere Informationen finden Sie im Artikel auf MSDN .
DataTable table = grdMyGrid.DataSource as DataTable;
DataRow row = table.NewRow();
row = ((DataRowView)grdMyGrid.SelectedRows[0].DataBoundItem).Row;
In einer DataGridViewRow
ist eine Eigenschaft namens DataBoundItem
vom Typ object.
Dieses enthält eine DataRowView
(zur Sicherheit können Sie dies überprüfen)
In Visual Studio 2017 .NET 4.5 hatte ich Erfolg mit
var row = (DataRowView) e.Row.DataItem;