Это вопрос WinForms C #.
У меня есть настроенный элемент управления DataGridView, унаследованный от стандартного класса DataGridView. Я хочу отслеживать случай, когда ячейка добавляется в сетку, значение ячейки изменяется в сетке. Я понятия не имею, как это сделать.
Событие DataBindingCompleted беспомощно на уровне ячейки / строки / столбца. Событие CellValueChanged сбивает с толку само по себе, поскольку оно вызывается только тогда, когда пользователь изменяет значение из пользовательского интерфейса, и беспомощно, если значение обновляется из основного источника данных. Какое событие нужно слушать?
Я знаю, что класс DataGridViewCell имеет событие ValueChanging. Но как настроить подключенный прослушиватель событий в каждой ячейке в настраиваемом DataGridView?
Спасибо за помощь.
В вашем пользовательском элементе управления вам нужна глобальная переменная события:
public event EventHandler CustomCellValueChanged;
вам нужно установить событие изменения ячейки следующим образом:
private void gvGridView_CellValueChanged(object sender, EventArgs e)
{
EventHandler Handler = CustomCellValueChanged;
if (Handler != null) { Handler(this, e); };
}
Затем в вашей форме вы сможете проверить событие CustomCellValueChanged