DataTable
必要な行を見つけるために を反復処理するのを避ける最善の方法は、DataView
代わりに a にバインドすることです。このようにして、 でやりたいことを並べ替えたり、その他すべての楽しいことをしたりDataGridView
、基になる を手動で解析しなくても必要なデータを取得したりできますDataTable
。
以下は、検索せずに DataRow を取得するために必要なすべてを示す簡潔な例です。
DataGridView dataGridView1 = new DataGridView();
DataTable tb = new DataTable();
DataView dv = tb.AsDataView();
dataGridView1.DataSource = dv;
// Get the row indexes in whatever your favorite manner is.
List<int> selectedRowIndexes = YourGetSelectedRowIndexesMethod();
foreach(int selectedRowIndex in selectedRowIndexes)
DataRow dr = dv[selectedRowIndex].Row;
選択したインデックスを取得する簡単な方法の 1 つ (必要な場合に備えて):
List<int> indexes = new List<int>();
foreach (DataGridViewRow row in dataGridView1.SelectedRows)
{
indexes.Add(row.Index);
}