DataGridView - Как подключиться к событию, связанному с изменением ячейки? - PullRequest
3 голосов
/ 26 января 2010

Я использую DataGridView с C # .NET. Когда пользователь редактирует столбец, мне нужно другой столбец в той же сетке, чтобы изменить с каждым нажатием клавиши / изменения. Как / где я могу вставить свой собственный код для этого типа события?

1 Ответ

1 голос
/ 26 января 2010

То, чего вы пытаетесь достичь, невозможно без небольшого труда. По умолчанию класс DataGridView не предоставляет событие в стиле CellChanging. Вместо этого он предоставляет завершенные события в форме CellBeginEdit и CellEndEdit.

Одна из причин, вероятно, связана с различными способами редактирования ячейки. Наличие CellChanging имело бы смысл для ячейки стиля текста, но не имело бы такого же смысла, например, для ячейки стиля Button.

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

Единственный способ реализовать его для каждого нажатия клавиши - это

  1. Обработка вышеуказанных событий
  2. Выясните, что представляет собой тип времени выполнения DataGridView.EditingControl и найдите способ подключиться к каждому отдельному изменению для каждого типа ячейки
  3. Распространять изменения при каждом редактировании

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...