Добавление новых узлов относительно выбранного узла TreeView - PullRequest
2 голосов
/ 23 ноября 2011

Мой вопрос касается добавления нового узла в выбранный узел. Например, у меня есть узлы в виде дерева, и когда я выбрал 1 узел и нажал кнопку (addCategory), мне нужно добавить узел на тот же уровень. Если я выбрал 1 узел и нажал кнопку (addSubCategory), мне нужно добавить узел на подуровень.

Ответы [ 2 ]

4 голосов
/ 23 ноября 2011

на самом деле это может немного измениться, если вы находитесь в формах Windows или веб-формах, я думаю, но псевдокод для того, что вы спрашиваете, это:

AddCategory

treeView1.SelectedNode.Parent.Nodes.Add("my new category");

AddSubCategory

treeView1.SelectedNode.Nodes.Add("my new sub category"); 

конечно, проверьте SelectedNode и Parent на null перед этим; -)

1 голос
/ 23 ноября 2011

Если вы щелкнете по Узлу и нажмете кнопку addCategory, вы можете взять родителя этого узла.Затем добавьте узел к родителю.Если родитель имеет нулевое значение (выбран корневой элемент), просто добавьте элемент в TreeView.Если нажата кнопка addSubCategory, вы добавляете узел к выбранному узлу.

Редактировать:

В следующем коде treeView1 - это свойство Name TreeView.В вашем коде это может быть что-то еще, поэтому измените соответствующим образом.То же самое касается textBox1:

protected void categoryButton_Click1(object sender, EventArgs e)
{
    if (treeView1.SelectedNode != null)
    {
        var nodeText = textBox1.Text.Trim();
        if (treeView1.SelectedNode.Parent == null)
            treeView1.Nodes.Add(new TreeNode(nodeText));
        else
            treeView1.SelectedNode.Parent.ChildNodes.Add(new TreeNode(nodeText));
    }
}

protected void subCategoryButton_Click(object sender, EventArgs e)
{
    var nodeText = textBox1.Text.Trim();
    if (treeView1.SelectedNode != null)
        treeView1.SelectedNode.ChildNodes.Add(new TreeNode(nodeText));
}

Надеюсь, это поможет!:)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...