Отображение пользовательской иерархии - PullRequest
1 голос
/ 06 июня 2009

У меня есть простой хиракей заданий, аналогичный приведенному ниже фрагменту:

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?

Приветствие Anthony

Ответы [ 2 ]

3 голосов
/ 06 июня 2009

Вам не нужно привязывать данные TreeView.

Вы можете создавать экземпляры TreeNode и добавлять их в коллекцию TreeView.Nodes самостоятельно.

Это позволит вам программно создать TreeView из ваших данных.

2 голосов
/ 06 июня 2009

Взгляните на метод TreeView.Nodes.Add .

Затем используйте рекурсию для добавления подзадач. Как то так:

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);
    }
}
...