J'utilise une base de données Windows Forms DataGridView
. comment passer d'une ligne sélectionnée par l'utilisateur dans la DataGridView
à la DataRow
de la DataTable
qui en est la source?
DataRow row = ((DataRowView)DataGridViewRow.DataBoundItem).Row
En supposant que vous ayez lié une DataTable
ordinaire.
MyTypedDataRow row = (MyTypedDataRow)((DataRowView)DataGridViewRow.DataBoundItem).Row
En supposant que vous ayez lié un datatable dactylographié.
Consultez l'article sur MSDN pour plus d'informations.
DataTable table = grdMyGrid.DataSource as DataTable;
DataRow row = table.NewRow();
row = ((DataRowView)grdMyGrid.SelectedRows[0].DataBoundItem).Row;
Dans une DataGridViewRow
est une propriété appelée DataBoundItem
de type objet.
Cela contiendra une DataRowView
(pour plus de certitude, vous pouvez le vérifier)
Dans Visual Studio 2017 .NET 4.5, j'ai eu du succès avec
var row = (DataRowView) e.Row.DataItem;