Linq, поставщик ошибок, привязка данных: пользовательские сообщения об ошибках - PullRequest
2 голосов
/ 23 августа 2011

Мы разрабатываем приложение C # для Windows Forms, используя LINQ-to-sql, привязку данных и объект поставщика ошибок.

При привязке данных автоматически генерируемые сообщения отображаются при попытке ввода недопустимых данных (например, ввод буквенно-цифровых символов в числовом поле). Но генерируемые сообщения не очень удобны для пользователя (входная строка не в правильном формате, значение недопустимо, значение не является датой-временем, начинающимся с позиции 0 и т. Д.).

Какой, по вашему мнению, лучший способ справиться с этим? Отключите автоматическую проверку, установив «FormattingEnabled» в false на элементах управления с данными, что означает, что вам придется обрабатывать все проверки самостоятельно? Или, возможно, расширить объекты, чтобы иметь возможность переопределять сообщения, например, расширение / переопределение TypeConverter? Сделать пользовательские элементы управления, которые выполняют базовую проверку (например, создать текстовое поле, которое допускает только целые числа, денежные значения и т. Д.)?

Ответы [ 2 ]

1 голос
/ 12 сентября 2011

В конечном итоге я создал пользовательские элементы управления вводом, которые:

  • ограничивают ввод
  • переопределяет OnValidation БЕЗ вызова base.OnValidation
  • создает собственный ErrorProvider, который показываетпользовательские сообщения об ошибках, если это необходимо.
1 голос
/ 29 августа 2011

Если бы это был я, я бы ограничил содержимое Textbox, чтобы разрешить только int и т. Д.тебе нужен пример как это сделать?

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