Отслеживание данных при помощи событий

в таблице показаны события имеющиеся

Еще одна важная возможность сценариев привязки данных, особенно когда имеет место развязка уровней, состоит в оповещении об изменениях в нижележащем источнике данных при помощи событий. В таблице показаны события, имеющиеся в BindingSource. Такие события, как PositionChanged, ListChanged И CurrentChanged, Вы можете использовать для управления привязкой данных или синхронизации других элементов управления на форме, которые не обязательно находятся в строгих родительско-дочерних отношениях, которые допускали бы управление посредством каскадирования источников привязки, как было описано ранее. Например, представьте, что на форме имеется привязанный к данным комбинированный список, и при выборе в нем нового значения требуется переключить на новый источник данных — другой источник привязки, который управляет привязкой другой группы элементов управления на форме. Допустим, комбинированный список содержит строки соединения или имена баз данных. Вы можете решить эту проблему при помощи события SelectedlndexChanged Комбинированного списка. Но что, если на форме имеется несколько элементов управления, которые могут изменить текущий источник данных? Благодаря событию CurrentChanged Источника привязки вы можете очень просто решить проблему на уровне источника привязки, вместо того чтобы решать ее на уровне элементов управления.

Вы можете также использовать эти события для синхронизации между коллекциями данных, которые не связаны отношением «ведущий-детализация». Это иллюстрируется листингом 4.7 , где событие CurrentChanged Обновляет отображение родительского элемента при выборе в коллекции дочерних объектов. Событие CurrentChanged Можно еще использовать для организации своего рода связи «ведущий-детализация» между коллекциями объектов, связанных отношением «многие-ко-многим», как будет показано далее в разделе «Синхронизация коллекций, связанных отношением многие-ко-многим» .

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

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