Экземпляр customers Binding Source

свойство b datasource b экземпляра

Экземпляр CustomersBindingSource В форме подключен к Customers — DataSource Как своему источнику данных, а его свойство DataMember Установлено на таблицу Customers в этом источнике. Свойство DataSource Экземпляра FilteredGridl Установлено на CustomersBindingSource, Что лишь косвенно подключает инкапсулированный в пользовательском элементе управления экземпляр M BindingSource К тому же источнику привязки. Свойство DataSource Экземпляра M_Grid Внутри элемента управления установлено на экземпляр M BindingSource. Когда в обработчике события Load Формы набор данных заполняется, благодаря совместной работе источников привязки его данные автоматически появляются в сетке. Проблема с навигатором состоит в том, что в форме он непосредственно подключен только к CustomersBindingSource И нет никакого автоматического способа передать его позицию от этого источника привязки тому, что находится в пользовательском элементе управления . Это обусловлено тем, что каждый источник привязки имеет свой собственный скрытый синхронизатор, и они не соединяются друг с другом таким образом, чтобы источники привязки знали, что они должны работать синхронно. Чтобы исправить такое положение дел, придется проделать некоторую дополнительную работу при подключении источника данных в пользовательском элементе управления.

В главе 7 был вкратце описан интерфейс ICurrencyManagerProvider, Который реализуют объекты, обладающие своим собственным синхронизатором, как в нашем случае компонент BindingSource. Чтобы источник привязки в пользовательском элементе управления получал уведомления об изменениях позиции в синхронизаторе источника привязки формы, вам нужно использовать интерфейс ICurrencyManagerProvider, Позволяющий обнаружить, что нечто будет поддерживать свой собственный синхронизатор, и подписаться на событие Cur Rent ItemChanged Последнего, чтобы все синхронизировалось само собой. Листинг 8.3 показывает модификации, которые необходимо сделать в set-блоке свойства DataSource Элемента управления FilteredGrid, А также метод обработчика события, который будет

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

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