Главная » C#, Компоненты » Разработка компонентов работы с данными

0

В качестве примера я покажу компонент BoundListview, который является наследником обычного Listview, но с возможностью привязки данных. Для начала мне потребуются свойства Datasource и DataMember. Их описание достаточно стандартно, и его можно использовать независимо от типа компонента. Описание DataSource выглядит так:

private object dataSource;

[TypeConverter("System.Windows.Forms.Design.DataSourceConverter,

System.Design")] [Category("Data")] [DefaultValue(null)]

public object DataSource {

get {

return this.dataSource;

}

set {

if {this.dataSource != value) {

this.dataSource = value;

TryDataBinding();

}

}

}

Атрибут TypeConverter подключает стандартный конвертер, предназначенный для источников данных. В таком варианте редактор этого свойства будет выглядеть как выпадающий список, содержащий все доступные источники данных (рис. 13.11). В этом диалоге нет возможности создать новый источник данных, как на рис. 13.7. Такой редактор можно получить, наследовав атрибуты свойства от класса iListsource:

[Category("Data")} [DefaultValue(null)]

[AttributeProvider(typeof(iListSource))1 [Browsable(true)]

public object DataSource {

get/set

}

Рис. 13.12. Вид компонента Bound!.l.stview

Литература:

Агуров П. В. C#. Разработка компонентов в MS Visual Studio 2005/2008. – СПб.: БХВ-Петербург, 2008. — 480 е.: ил.

По теме:

  • Комментарии