Отловить изменение флажка в datagridview - C#
Формулировка задачи:
Доброго времени суток. Есть DataGridView со столбцом DataGridViewCheckBoxColumn и др. столбцами
Пытаюсь сделать так, чтобы при нажатии на флажок вся строка закрашивалась красным
(в коде только ячейка)
Не работает. Что нужно изменить?
P.S. Как целиком закрасить строку.
WinForms
// Click по ячейке в gridEditDatabase private void gridEditDatabase_CellClick(object sender, DataGridViewCellEventArgs e) { int intNumColumnDeleteAttribute=0; // Фильтр для столбцов (обрабатывается только столбец Удаление атрибута) if (e.ColumnIndex == intNumColumnDeleteAttribute) { if ((bool)gridEditDatabase[intNumColumnDeleteAttribute, e.RowIndex].Value == true) gridEditDatabase[intNumColumnDeleteAttribute, e.RowIndex].Style.BackColor = Color.Red; } }
Решение задачи: «Отловить изменение флажка в datagridview»
textual
Листинг программы
void gridEditDatabase_CurrentCellDirtyStateChanged(object sender, EventArgs e) { if (gridEditDatabase.IsCurrentCellDirty) gridEditDatabase.CommitEdit(DataGridViewDataErrorContexts.Commit); } public void gridEditDatabase_CellValueChanged(object sender, DataGridViewCellEventArgs e) { int intNumColumnDeleteAttribute = 0; //Фильтр для столбцов (обрабатывается только столбец Удаление атрибута) if (e.ColumnIndex == intNumColumnDeleteAttribute) if ((bool)gridEditDatabase[intNumColumnDeleteAttribute, e.RowIndex].Value == true) gridEditDatabase.Rows[e.RowIndex].DefaultCellStyle.BackColor = Color.Red; else gridEditDatabase.Rows[e.RowIndex].DefaultCellStyle.BackColor = SystemColors.ControlLightLight; }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д