2009-06-05 2 views
1

У меня есть простой hirachey Задач подобный приведенному ниже 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 будет выглядеть идеально, но поскольку im не использует DataSet, этот элемент управления исключен? Или как я могу изменить свой код, чтобы я мог использовать 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); 
    } 
}