Как я могу отобразить ошибку для пользователя, пока он все еще редактирует ячейку DataGridView? - PullRequest
2 голосов
/ 25 февраля 2010

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

Я использую Windows 7, но я не смог заставить его работать в XP, поэтому мы можем исключить это.

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

Чтобы пример работал, вам нужно создать собственную форму, скопировать / вставить код примера, добавить using System.Drawing.Drawing2D; и назначить обработчики событий самостоятельно.

Ответы [ 2 ]

1 голос
/ 26 июня 2012

Это немного хак-у, но простое добавление чего-то вроде этого в конец вашего метода проверки работало бы (при условии, что ваше представление не привязано к некоторым данным, так что EndEdit () передает новое значение в структуру данных или что-то):

if (e.Cancel)
{
    myView.EndEdit();
    myView.BeginEdit(true);
}
1 голос
/ 26 февраля 2010

Я предлагаю вам взглянуть на IDataErrorInfo интерфейс

Например, см. Следующую запись .

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