相对于TreeView所选节点添加新节点

时间:2011-11-22 22:34:17

标签: c# asp.net treeview

我的问题是关于向所选节点添加新节点。例如,我有我的树视图节点,当我选择1个节点并单击按钮(addCategory)时,我必须将节点添加到同一级别。如果我选择了1个节点并单击按钮(addSubCategory),我必须将一个节点添加到子级别。

2 个答案:

答案 0 :(得分:4)

事实上,如果您使用的是Windows窗体或网页表单,它可能会有所改变,但您想要的是伪代码

<强> AddCategory

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

<强> AddSubCategory

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

当然在执行此操作前检查null的SelectedNode和Parent; - )

答案 1 :(得分:1)

如果单击节点并单击addCategory按钮,则可以获取该节点的父节点。然后将一个节点添加到父节点。如果父项为null(选择了根项),则只需将项添加到TreeView中。如果单击addSubCategory按钮,则将节点添加到所选节点。

修改

在下面的代码&#39; treeView1&#39;是TreeView的Name属性。在您的代码中,这可能是其他内容,因此相应地进行更改。同样适用于

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

希望这有帮助! :)