我有一个类似下面的snipet的简单的任务:
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?
干杯 安东尼
答案 0 :(得分:3)
您无需绑定TreeView数据。
您可以创建TreeNode实例,并自己将它们添加到TreeView.Nodes集合中。
这将允许您以编程方式从数据创建TreeView。
答案 1 :(得分:2)
然后使用递归来添加子任务。像这样:
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);
}
}