У меня есть метод, который выбирает строки в сетке данных и изменяет значение checkboxcolumn:
foreach (DataGridViewRow gridRow in dataGridView1.Rows)
{
if (_selectedIDs != null)
foreach (long id in _selectedIDs)
{
gridRow.Selected = false;
if ((long)((DataRowView)gridRow.DataBoundItem)["ObjectD"] == id)
gridRow.Selected = true;
}
if (_checkedIDs != null)
foreach (long id in _checkedIDs)
{
((DataRowView)gridRow.DataBoundItem)["Choosen"] = 0;
if ((long)((DataRowView)gridRow.DataBoundItem)["ObjectD"] == id)
((DataRowView)gridRow.DataBoundItem)["Choosen"]=true;
}
}
dataGridView1.Refresh();
Когда я отлаживаю этот код, я вижу, что он входит в строки
gridRow.Selected = true;
и
((DataRowView)gridRow.DataBoundItem)["Choosen"]=true;
и в QuickWatch я вижу, что свойства этих строк изменены.
Но после выполнения этого кода у меня остается только одна выбранная строка
Кто-нибудь знает, что не так с этим кодом?