CellValueChanged по сравнению с событиями CellValidating для DataGridView

Что лучшее место должно реализовать код логики проверки и код условного форматирования для DataGridView?

В большом количестве книг и статей, которые я прочитал на этом управлении, это, кажется, предполагает, что соответствующим событием для обработки для этого является CellValidating один. Ну, имя больше, чем подразумевает это также.

Однако это событие инициировало немного слишком часто для моих вкусов, и я не уверен, что оно требуется. Например, это событие инициировало everytimes, который пользователи переключают на другую строку.

С другой стороны, событие CellValueChanged, кажется, инициировало только, когда значение изменений ячеек, что означает код доступа, работает только, когда значение изменяется и не каждый раз, пользователь изменяет ячейки.

Теперь, так как столько книг использует событие CellValidating, интересно, нет ли никакого глюка (в дисплее, например) с использованием CellValueChanged?

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

Спасибо,

9
задан Kharlos Dominguez 12 August 2010 в 16:06
поделиться

1 ответ

В настоящее время я использую CellValueChanged в гриде с пользовательской валидацией и не имею проблем с отображением или чем-либо еще.

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

Я не заметил значительного снижения производительности (тестировалось от 100 до 5000 строк).

Я думаю, что в конечном итоге все зависит от того, каковы ваши потребности в валидации. В моем случае CellValueChanged сделал то, что я хотел/нуждался.

EDIT

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

4
ответ дан 5 December 2019 в 01:42
поделиться
Другие вопросы по тегам:

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