わっふる
インデックスやCurrentで行を取得する方法はよくあるワンけど、DataGridViewのセルの内容を検索して該当する行を取得したいワン。
Rowsプロパティは、DataGridViewコントロールのすべての行を格納しているコレクションを取得する。
これをDataGridViewクラスにキャストして、リストに変換するとリストのメソッドやLinqが使える。
以下のコードでは、”ID”列の値がIDに一致する最初の行を取得し、さらにそのインデックスを取得している。
1 2 |
DataGridViewRow row = dgv.Rows.Cast<DataGridViewRow>().ToList().Find(r => (int)r.Cells["ID"].Value == ID); int index = row == null ? 0 : row.Index; |
コメント