行の文字列のインデックスを見つけたいのですDataGridView
が、コードは次のとおりです。
DataGridViewRow row = dgvVisual.Rows.Cast<DataGridViewRow>().FirstOrDefault(r => (string)r.Cells[0].Value == "9");
しかし、の戻り値row
はのnull
代わりに、DataGridViewRow
この問題を解決する方法は?
コード全体はここにあります:
SqlCommand cmd;
cmd = new SqlCommand("select * from MyTable , SqlConnection);
SqlDataReader read;
read = cmd.ExecuteReader();
while (read.Read())
{
int ColIndex= int.Parse(read["ColumnName"].ToString()) + 1;
int RowIndex = -1;
DataGridViewRow row = dgvVisual.Rows.Cast<DataGridViewRow>().FirstOrDefault(r => (string)r.Cells[0].Value == (string)read["ColumnNameB"].ToString().Trim());
if (row != null)
RowIndex = row.Index;
DataGridViewCheckBoxCell chkbxCell = (DataGridViewCheckBoxCell)dgvVisual[ColIndex, RowIndex];
chkbxCell.Value = true;
}
read.Close();
データベースに問題があり、リードバックが正しくなかったため、問題は解決しました。