Re: Как реализовать IListSource в своем объекте?
От: _FRED_ Черногория
Дата: 31.08.09 07:27
Оценка:
Здравствуйте, karapetyan_ashot, Вы писали:

_>Люди, 3-й раз пытаюсь решить этот вопрос.


Позволю себе несколько коментариев. "В третий раз" означает, что тут есть уже пара похожих топиков? Надо было или поднять их, или привести на них ссылки в этом сообщении.

_>Так вот на мсдн успешно продемонстрирован первый вариант. и нигде не могу найти пример реализации второго варианта.

_>По аналогии с DataSet: DataSet содержит коллекцию DataTable. когда в окне DataSources видим DataSet, то можно увидеть так-же его таблицы.

Можно было посмотреть в рефлекторе или исходниках, что же происходит в датасетах — как работает там.

_>Вот код иллюстрирующий проблему:


Нету в этом вашем сообщении описания проблемы. В словах "нигде не могу найти пример реализации второго варианта" и "для получения списка коллекций, которые содержит объект(2)" не понятна суть решаемой Вами задачи. Зачем и как нужно точно формулировать вопрос сказано в http://rsdn.ru/Info/Howtoask.xml.

public class ProdTypeList : BindingList<ProdType> { }

Я осмелюсь рекомендовать вам не играть в сокращения и называть сущности полными именами, например:
public class ProductTypeList : BindingList<ProductType> { }


_>        // вариант 2 - не работает.......
_>        // реализация предусматривающая вывод "списка таблиц";


Вот из этих вот слов все лишь удалось примерно догадаться, чего же вы хотите. Было бы намного удобнее, если бы решаемая вами задача была написана чётко в начале сообщения, а не в коментариях к коду в конце.

_>Убедительная просьба не посылать меня куда подальше...... набродился уже.


Вариантов решения тут может быть несколько. Суть следующая — вам надо у возвращаемого из IListSource.GetList() объекта вернуть в качестве свойств "колонки списка таблиц". Например, если требуется, что бы в качестве списка таблиц был бы такой вот список:
НазваниеКол-во элементов
Продукты5
Типы Продуктов3
то вам нужно добиться того, что бы TypeDescriptor.GetProperties(x) (где x — это то, что вы вернули из IListSource.GetList()) возвращало бы набор из двух PropertyDescriptoro-ов. Да, это совсем не просто и требует некоего "погружения". Почитать об этом можно по ссылкам, данным в этом вот сообщении
Автор: _FRED_
Дата: 14.08.08
.

Например, в датасете данный вопрос решается с помощью ITypedList, но может быть решён и другими способами.

_>просто допишите код.


Дописывать "код" лень, простите :о)

P.S. В следующий раз подобное сообщение, скорее всего, будет проигнорировано: зачем отвечать на вопрос, автор которого (судя по формулировке) сам не приложил достаточно сил даже к постановке цели?
Help will always be given at Hogwarts to those who ask for it.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.