1

以下のスニペットに似た単純なタスクの階層があります。

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 を使用できるようにするにはどうすればよいですか?

乾杯アンソニー

4

2 に答える 2

3

TreeView データをバインドする必要はありません。

TreeNode インスタンスを作成し、それらを TreeView.Nodes コレクションに自分で追加できます。

これにより、データからプログラムで TreeView を作成できます。

于 2009-06-05T23:04:05.437 に答える
2

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);
    }
}
于 2009-06-05T23:07:14.213 に答える