2009-06-05 147 views
1

我有类似下面的snipet一个简单的任务hirachey:显示自定义的层次

public class Task 
{ 
    public Guid TaskId { get; set; } 
    public Guid ParentId { get; set; } 
    public string Name { get; set; } 
    public List<Task> Subtasks = new List<Task>(); 
} 

什么将是显示此数据的最佳方式?一个TreeView看起来很理想,但由于我不使用数据集,这个控制被排除在外?或者我如何修改我的代码以使我能够使用TreeView?

干杯 安东尼

回答

3

你并不需要做绑定的TreeView的数据。

您可以创建TreeNode实例,并将它们自己添加到TreeView.Nodes集合中。

这将允许您以编程方式从您的数据创建一个TreeView。

2

看看TreeView.Nodes.Add method

然后使用递归添加子任务。像这样:

public void AddTaskToTree(TreeNodeCollection nodes, Task aTask) 
{ 
    TreeNode taskNode = New TreeNode(aTask.Name); 
    nodes.Add(taskNode); 
    foreach (Task subTask in aTask.Subtasks) 
    { 
     AddTaskToTree(taskNode.Nodes, subTask); 
    } 
}