powered by simpleCommunicator - 2.0.49     © 2025 Programmizd 02
Форумы / WPF, Silverlight [игнор отключен] [закрыт для гостей] / Как с помощью ObjectDataProvider считать иерархию?
7 сообщений из 7, страница 1 из 1
Как с помощью ObjectDataProvider считать иерархию?
    #39442724
Charles Weyland
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я сделал вот такую таблицу. Читает данные из XML-файла с помощью XMLDataPrivider

Теперь пытаюсь сделать так, чтобы данные читались из класса - с помощью ObjectDataProvider, соответственно.

В XML всё ясно:
Код: xml
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
<rss>
   <row>
      <family>Иванов</family>
      <name>Пётр</name>
      <documents>
         <type>pdf</type>
         <name>Паспорт</name>
      </documents>
   </row>
</rss>


У меня первые уровни читаются легко, а как подступиться к вложенным - не знаю. Может, у кого есть пример?

В XML я делал так:
Код: xml
1.
ItemsSource="{Binding Mode=Default, Path=>>>./documents<<<}"

- и получал доступ к вложенным уровням.
В ObjectDataProvider такое не проходит. Там же опять каким-то образом надо вызывать метод, который вернёт таблицу. В общем, голова опухает))
...
Рейтинг: 0 / 0
Как с помощью ObjectDataProvider считать иерархию?
    #39442726
Roman Mejtes
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
чтоб в гриде была иерархия и можно было развернуть элементы?
...
Рейтинг: 0 / 0
Как с помощью ObjectDataProvider считать иерархию?
    #39442746
Charles Weyland
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Не, иерархия состоит в том, что в одной строке может быть несколько подстрок. Примеры - "прикреплённые документы", "знание языков" и т.д.

И у меня наконец-то получилось)) Описать тяжело, я могу скинуть для желающих код программы.

Вопрос . На этот раз конкретный:
В качестве источника данных мне пришлось описать класс, поля которого совпадают со столбцами:
Код: c#
1.
2.
3.
4.
5.
6.
7.
    public class ParticipantRow
    {
        public string Surname { get; set; }
        public string Name { get; set; }
        public string Age { get; set; }
        //и так далее
    }


И связывать их:
Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
        <ListView
            ItemsSource="{Binding Source={StaticResource MDSource}}" 
            IsSynchronizedWithCurrentItem="True">
            <ListView.View>
                <GridView
                    ColumnHeaderContainerStyle="{StaticResource StretchHeaderStyle}">
                    <GridViewColumn 
                        Header="Фамилия"
                        DisplayMemberBinding="{Binding Mode=TwoWay, Path=Surname}"
                        CellTemplate="{StaticResource TextColumnTemplate}" />
                    <GridViewColumn 
                        Header="Имя"
                        DisplayMemberBinding="{Binding Mode=TwoWay, Path=Name}"
                        CellTemplate="{StaticResource TextColumnTemplate}" />


Вопрос такой: возможно ли каким-то образом сделать связывание динамическим. Т.е. все столбцы со значениями перечислены в некотором List<ItemNameAndValue> - и при пополнении этого списка таблица пополнялась бы столбцами? В каком направлении мне копать?
...
Рейтинг: 0 / 0
Как с помощью ObjectDataProvider считать иерархию?
    #39442752
Roman Mejtes
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
Как с помощью ObjectDataProvider считать иерархию?
    #39442866
Roman Mejtes
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Roman Mejtes,
попробуй создайте свою icollectionview, а лучше наследуй listcollectionview, и переопредели там этот интерфейс. в качестве коллекций надо будет передавать класс представленния коллекции, а не саму коллекцию. есть интерф. который отвечает за создания view, но он находится в сборках для view модели. когда в itemsources задается icollectionview, он использует его, в не дефолтный.
...
Рейтинг: 0 / 0
Как с помощью ObjectDataProvider считать иерархию?
    #39442868
Roman Mejtes
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Roman MejtesRoman Mejtes,
попробуй создайте свою icollectionview, а лучше наследуй listcollectionview, и переопредели там этот интерфейс. в качестве коллекций надо будет передавать класс представленния коллекции, а не саму коллекцию. есть интерф. который отвечает за создания view, но он находится в сборках для view модели. когда в itemsources задается icollectionview, он использует его, в не дефолтный.
напутал с телефона интр. для создания collection view для разных коллекций смотри примеры в исходниках для datatable.dataview, там это реализовано все
...
Рейтинг: 0 / 0
Как с помощью ObjectDataProvider считать иерархию?
    #39442928
Charles Weyland
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Хорошие советы!
...
Рейтинг: 0 / 0
7 сообщений из 7, страница 1 из 1
Форумы / WPF, Silverlight [игнор отключен] [закрыт для гостей] / Как с помощью ObjectDataProvider считать иерархию?
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]