添加相对于树视图选定节点的新节点

本文关键字:节点 新节点 相对于 视图 添加 | 更新日期: 2023-09-27 18:15:23

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

添加相对于树视图选定节点的新节点

实际上如果你是在windows窗体或web窗体中,它可能会发生一些变化但是伪代码对于你所要求的是:

AddCategory

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

AddSubCategory

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

当然检查SelectedNode和Parent的null之前这样做;-)

如果您单击一个Node并单击addCategory按钮,您可以获取该节点的父节点。然后向父节点添加一个节点。如果父项为空(根项被选中),只需向TreeView添加一个项。如果单击addSubCategory按钮,则向所选节点添加一个节点。

编辑:

在下面的代码中'treeView1'是TreeView的name属性。在您的代码中,这可能是其他内容,因此请相应地更改。'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));
}

希望这对你有帮助!:)