Как отслеживать изменения значений ячеек в DataGridView?

Это вопрос WinForms C #.

У меня есть настроенный элемент управления DataGridView, унаследованный от стандартного класса DataGridView. Я хочу отслеживать случай, когда ячейка добавляется в сетку, значение ячейки изменяется в сетке. Я понятия не имею, как это сделать.

Событие DataBindingCompleted беспомощно на уровне ячейки / строки / столбца. Событие CellValueChanged сбивает с толку само по себе, поскольку оно вызывается только тогда, когда пользователь изменяет значение из пользовательского интерфейса, и беспомощно, если значение обновляется из основного источника данных. Какое событие нужно слушать?

Я знаю, что класс DataGridViewCell имеет событие ValueChanging. Но как настроить подключенный прослушиватель событий в каждой ячейке в настраиваемом DataGridView?

Спасибо за помощь.

7
задан informatik01 28 August 2013 в 23:45
поделиться

1 ответ

В вашем пользовательском элементе управления вам нужна глобальная переменная события:

public event EventHandler CustomCellValueChanged;

вам нужно установить событие изменения ячейки следующим образом:

    private void gvGridView_CellValueChanged(object sender, EventArgs e)
    {
        EventHandler Handler = CustomCellValueChanged;
        if (Handler != null) { Handler(this, e); };
    }

Затем в вашей форме вы сможете проверить событие CustomCellValueChanged

-1
ответ дан 8 December 2019 в 01:41
поделиться
Другие вопросы по тегам:

Похожие вопросы: