В настоящее время у меня есть IQueryable of Questions. В моем объекте «Вопрос» у меня есть «id» и «parentId», которые можно использовать для создания иерархии. В настоящее время я привязываю RadTreeView к IQueryable вопросов, и RadTreeView заботится о создании иерархии, поскольку я определяю dataId и dataParentId для TreeView в разметке. Теперь мне нужно фактически отсортировать данные в иерархию ДО передачи их в мой RadTreeView. Как я могу это сделать?
IQueryable в иерархию
comment
Пожалуйста, раскройте, что вы подразумеваете под сортировкой по иерархии. Вы хотите создать фактический граф объектов или все еще думаете о нем как о табличных данных?
- person Bryan Batchelder   schedule 09.12.2009
comment
Просто как данные. В моем случае список вопросов в иерархическом порядке.
- person Brian David Berman   schedule 09.12.2009
Ответы (2)
Вы можете добавить в таблицу числовое поле и заполнить его, рекурсивно обходя дерево и заполняя числовое поле возрастающим значением.
ParentID ID Sequence
1 7 1
1 4 2
1 9 3
2 6 4
2 5 5
2 3 6
..и т.д.
person
Robert Harvey
schedule
09.12.2009
Это просто привело бы родителей к вершине, а детей к низу. Мне нужно, чтобы он был фактически сгруппирован как иерархия в фактических данных.
- person Brian David Berman; 09.12.2009
Все еще не в след. Как вы определяете последовательность?
- person Brian David Berman; 09.12.2009
Вам нужен код, который проходит по дереву в правильном порядке, добавляя возрастающее число к таблице по мере продвижения.
- person Robert Harvey; 09.12.2009
Если у вас есть доступ к SQL Server, вы можете настроить что-то с помощью общих табличных выражений, чтобы возвращать данные в правильном порядке. См.:
http://a-kicker-n.blogspot.com/2009/04/how-to-sort-hierarchical-recursive.html
См. также: Иерархические данные в Linq — параметры и производительность
person
Robert Harvey
schedule
09.12.2009