(.NET 2.0, System.Windows.FormsDataGridView и DataTable)
У меня есть 1 datagrid, подключенный к 1 datatable.
Эта таблица данных содержит 1 столбец: содержащий объекты моего собственного типа "MyObject".
MyObject имеет общедоступное строковое свойство "MyProp".
Я хочу отобразить 1 столбец в сетке: показать строковые значения свойства MyProp объектов MyObjects в таблице.
Но я не могу заставить его работать.
Схематично:
- myTable.Column1.Name: "Объект"
- myDataSet содержит 1 таблицу: myTable (заполненная несколькими строками)
- myBindingSource.datasource = мой набор данных
- myBindingSource.DataMember = моя таблица
- myDataGridView.DataSource = мой источник привязки
в myDataGridView: 1 DataGridViewTextBoxColumn
проба 1:
Column.DataPropertyName="Объект" (создается по умолчанию)
Отображает результат (переопределенного) MyObject.ToString() Не совсем то, что мне нужно, эта функция используется для ведения журнала.
- проба 2:
GridViewColumn.DataPropertyName="Объект.MyProp"
Ничего не отображает (get MyProp никогда не вызывается)
Проба 3: Сделано свойство MyProp привязываемым:
[Bindable (BindableSupport.Yes)] public string MyProp { ...
То же самое, не отличается от пробного варианта 2
Вкратце:
GridViewColumn.DataPropertyName, похоже, не поддерживает детализацию глубже в объекты в столбце таблицы данных.
У кого-нибудь есть идеи?
Заранее спасибо!
Ян