Поддержка инициализации привязки данных в конструкторе

добавьте для свойства b datasource

Если вы хотите, чтобы ваши свойства DataSource И DataMember Вели себя так же, как свойства встроенных элементов управления Windows Forms, позволяя выбирать источники и компоненты данных при помощи графических всплывающих окон, обеспечивающих просмотр источников данных в проекте, как описано в главе 5, нужно снабдить эти свойства некоторыми атрибутами, которые позволят конструктору узнать, как с ними обращаться. Добавьте для свойства DataSource Атрибут AttributeProvider, А для свойства DataMember — атрибут Editor С соответствующими аргументами. Это сообщит конструктору, что с этими свойствами следует обращаться точно так же, как со свойствами DataSource И DataMember Встроенных элементов управления Windows Forms. Если бы вы попытались установить привязку данных не программно, а в конструкторе Visual Studio, то столкнулись бы с определенными проблемами. Во-первых, если вы попробуете перетащить таблицу Customers из окна Data Sources, то увидите, что конструктор не считает элемент управления FilteredGrid Допустимым приемником для такой операции. Во-вторых, если вы перейдете в окно Properties, когда в конструкторе выбран FilteredGrid, Вы увидите экспонированные там свойства DataSource И DataMember, Но DataSource Будет затенено, поскольку оно объявлено просто как объектная ссылка, и у конструктора недостаточно информации, чтобы предоставить вам возможность выбрать что-то в качестве источника данных. Просто добавив эти атрибуты и построив заново библиотеку элемента управления, вы при работе с FilteredGrid В конструкторе получаете те же самые функции привязки посредством перетаскивания, что и с DataGridview, ComboBox И любыми другими привязанными к данным элементами управления из Framework, как показано на рис. 8.7. Чтобы увидеть изменения в окне Properties, вам после перестройки решения может потребоваться закрыть и снова открыть форму, на которой вы редактируете FilteredGrid

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

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