Интерфейс IDataErrorlnfo: предоставление информации об ошибках

он экспонирует сообщение об ошибке

Интерфейс IDataErrorlnfo Позволяет объекту хранить и экспонировать информацию об ошибках, которая может использоваться привязанными элементами управления для извещения пользователя об ошибках, возникающих при работе с объектом. Он экспонирует сообщение об ошибке верхнего уровня для объекта в целом, а также индексатор, который может экспонировать сообщения об ошибках для отдельных свойств. Такие элементы управления, как DataGridView, Могут использовать эту информацию для индикации ошибок по месту и для сообщений пользователю. Когда элемент управления привязан к коллекции элементов данных, а элементы данных могут изменяться либо самим элементом управления, либо другим кодом в приложении, что-то может пойти неправильно. Кто-то попытается втиснуть значение недопустимого типа в слабо типизированное свойство рабочего объекта. Кто-то может передать значение вне допустимого диапазона верификации. Может произойти ошибка при попытке зафиксировать в базе данных содержащееся в объекте значение. В любой из этих ситуаций привязанному элементу управления может потребоваться узнать о произошедшей ошибке и, возможно, предоставить пользователю некоторую информацию о ней, если он умеет это делать. Хорошим примером является элемент управления DataGridView, Привязанный к DataView. Если в любом из столбцов строки нижележащей таблицы происходит ошибка, класс DataRow Может сохранить информацию о ней в своей коллекции Errors. При этом сохраняется не только какой была ошибка, но и к какому конкретному столбцу в строке она относилась. Когда в строке происходит ошибка, она отражается в сетке значком ошибки рядом с проблемной ячейкой. При задержке курсора мыши на значке в этом столбце данной строки появляется сообщение об ошибке, описывающее возникшую проблему. Все это происходит, если DataRowView Реализует интерфейс IDataErrorlnfo, И элемент управления DataGridView Ищет этот интерфейс у элементов данных в любой коллекции, к которой он привязан. Если сетка видит, что представляемые ею элементы данных реализуют этот интерфейс, она будет использовать его свойства, чтобы определить, имеются ли в столбцах какие-то ошибки, которые следует отобразить, или для самого объекта имеет место общая ошибка, подлежащая отображению.

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *