检索数据,以树视图

问题描述:

我有台这样的检索数据,以树视图

TaskID------ParentID-------TaskName 
    1-----------Null-----------AllPro 
    2-----------1--------------Drink 
    3-----------2--------------Coco 
    4-----------2--------------Pepsi 
    5-----------1--------------Food 
    6-----------5--------------Macdo 

我设法得到它在给树视图中,我的问题是,当我想使任务ID和父ID的resault被复制的关系你可以看到我的代码:

的关系是两个列之间的一个表:

public IQueryable<tblTask> GetTaskTree() 
    { 
     var MySubject = from publisher in ObjectContext.tblTasks 
         join subjects in ObjectContext.tblTasks 
         on publisher.ParentTaskID equals subjects.TaskID 
         select publisher; 
     return MySubject; 
    } 

这样的结果是这样的:

Drink 
--Pepsi 
--Coco 
Pepsi 
Coco 
Food 
---Mac 
Mac 

而这里的ItemTemplate

你能plz帮助我。

我不认为你应该加入你的LINQ;你的表应该只读一次,并且应该知道如何使用递归键ParentID将它们嵌套到彼此中,基本上每个记录都有一个Id,一个标签并知道它属于哪个其他父记录,没有理由加入。

旧窗口窗体编程我可能会写一个小程序来扫描所有记录并相应地创建节点。一般情况下,TreeView还有一些层次属性,以便您可以指定父节点字段或类似的东西,而TreeView为您创建层次结构,但实际上我不确定使用默认的Windows窗体TreeView,许多控件无法记住哪些功能没有检查...(DevExpress,Telerik,Infragistics ...)。