【问题标题】:Displaying a custom hierarchy显示自定义层次结构
【发布时间】:2009-06-05 22:56:09
【问题描述】:
我有一个简单的任务,类似于下面的片段:
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 看起来很理想,但由于我不使用 DataSet,是否排除了此控件?或者我如何修改我的代码以使我能够使用 TreeView?
干杯
安东尼
【问题讨论】:
标签:
c#
asp.net
treeview
hierarchy
【解决方案1】:
您不需要绑定 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);
}
}