web-dev-qa-db-ja.com

DataGridViewの行からDataRowを取得する方法

データバインドされたWindowsフォームDataGridViewを使用しています。 DataGridViewでユーザーが選択した行から、そのソースであるDataRowDataTableに移動するにはどうすればよいですか?

31
Dan Neely
DataRow row = ((DataRowView)DataGridViewRow.DataBoundItem).Row

通常のDataTableをバインドしたと仮定します。

MyTypedDataRow row = (MyTypedDataRow)((DataRowView)DataGridViewRow.DataBoundItem).Row

型指定されたデータテーブルをバインドしたと仮定します。

詳細については MSDNの記事 を参照してください。

42
Neil Barnwell
DataTable table = grdMyGrid.DataSource as DataTable;
DataRow row = table.NewRow();
row = ((DataRowView)grdMyGrid.SelectedRows[0].DataBoundItem).Row;
8
Lev Z

DataGridViewRowには、タイプオブジェクトのDataBoundItemと呼ばれるプロパティがあります。

これにはDataRowViewが含まれます(確実にこれを確認できます)

2
Captain Comic

Visual Studio 2017 .NET 4.5では、

 var row = (DataRowView) e.Row.DataItem;
0
Pallavi