2013-06-26 5 views
0

Я работаю над приложением Winforms, которое содержит DataGridView, которое связано с DataTable.forecolor «грязных» ячеек в datagridview

Пользователь имеет право редактировать содержимое ячеек. Пользовательский «грязный» вход должен появляться в синем цвете до тех пор, пока он не будет сохранен в базе данных (ячейка forecolor затем будет сброшена до значения по умолчанию, черный).

Когда пользователь редактирует ячейку, я установил ячейку forecolor в синий цвет в обработчик события CellValueChanged. Но после того, как пользователь нажимает кнопку «Сохранить» (которая вызывает Me.TableAdapterManager.UpdateAll(Me.MyDataSet)), измененные ячейки по-прежнему остаются синими.

Как я могу сбросить forecolor синих ячеек? Перебирать все ячейки? (Звучит неэффективно для меня.) Обновите DGV? (DGV.Refresh() похоже не работает.)

Любая идея будет оценена.

ответ

0

Используйте List для хранения строки/столбца модифицированных ячеек.

Когда пользователь нажимает на кнопку Сохранить:

  • восстановить цвет по умолчанию из перечисленных клеток
  • Очистить список