#c# #linq #entity-framework
#c# #linq #entity-framework
Вопрос:
У меня есть таблица department
со следующими столбцами.
Id (P.K.)
Name
ParentDepartmentId (F.K. of same Department table)
Теперь я хочу отобразить все данные в иерархическом порядке с помощью LINQ. что-то вроде этого:
IT
.Net
Web Developer
Windows Developer
Java
PHP
Technical Support
OffLine
Online
Где у него есть 3 подразделения .Net, Java, PHP. еще раз .в net есть свой собственный отдел web developer и Windows developer и так далее.
Как я могу добиться этого с помощью LINQ. Я использую ASP.Net MVC 3.0 с использованием C #, Entity Framework и т.д.
Комментарии:
1. Вы хотите привязать их к некоторому treeview?
2. Вы хотите отобразить их в виде древовидной структуры.
3. Я думаю, что treeview — это ASP.Net управление, и я использую asp.net MVC. Вот почему я хочу отобразить их без привязки к какому-либо элементу управления.
4. @Cold сказал, что да, я хочу отобразить это в виде древовидной структуры.
Ответ №1:
Ниже приведена ссылка на то, что именно я хотел.
http://tpeczek.com/2010/01/asynchronous-treeview-in-aspnet-mvc.html
Ответ №2:
Вам нужно использовать GroupBy
функцию.
Комментарии:
1. Да, я думаю, вы правы. Но как мы можем использовать GroupBy в Linq. Не могли бы вы, пожалуйста, дать мне запрос, чтобы отобразить его в виде древовидной структуры?
Ответ №3:
Пожалуйста, посмотрите эту ссылку. Он использует метод расширения .AsHierarchy()
для представления иерархических данных
http://www.scip.be/index.php?Page=ArticlesNET18#AsHierarchy .
Возвращаемый объект будет иметь древовидную структуру. Вам просто нужно определиться с вашей логикой представления (пространство для каждого дочернего узла)
Ответ №4:
Вы можете создать простой набор HTML в коде вашего действия, присвоив конкретные значения вашего HTML, которые вы создаете динамически в своем действии, значениям, которые вы получаете с помощью linq. Затем при просмотре, когда вы возвращаете его с помощью viewdata, визуализируйте его как чистый html и используйте jquery для создания дерева вот хороший пример плагина jquery tree