У меня странная проблема с сеткой данных.
Мне нужно изменить стиль выбранной ячейки (A) в ответ на значение другой ячейки (B) = x.
(A) - это текстовое поле, а (B) - поле со списком.
Я ловлю событие CellEndEdit, и все работает нормально, когда пользователь меняет значение (B): стиль (A) изменяется немедленно.
Теперь, когда я пытаюсь программно обновить представление данных, это не работает.
Странно то, что оба способа используют один и тот же метод UpdateTimeChannelCell.
Если я вызываю этот метод программным способом, представление данных не обновляет стиль своих ячеек. Я попытался, обновив, обновив, аннулировав datagridview без удачи
private void UpdateTimeChannelCell(DataGridViewCellEventArgs e)
{
if (e.ColumnIndex == 1 || e.ColumnIndex == 3 || e.ColumnIndex == 5 || e.ColumnIndex == 7 || e.ColumnIndex == 9 || e.ColumnIndex == 11 || e.ColumnIndex == 13)
{
if ((int)this.dataGridView_TidKanaler.Rows[e.RowIndex].Cells[e.ColumnIndex].Value == 0)
{
this.dataGridView_TidKanaler.Rows[e.RowIndex].Cells[e.ColumnIndex - 1].Value = new Time();
this.dataGridView_TidKanaler.Rows[e.RowIndex].Cells[e.ColumnIndex - 1].Style = disableStyle;
}
else
{
this.dataGridView_TidKanaler.Rows[e.RowIndex].Cells[e.ColumnIndex - 1].Style = enableStyle;
}
}
}