【发布时间】:2011-11-22 22:34:16
【问题描述】:
我的问题是关于向选定节点添加新节点。例如,我有我的树视图节点,当我选择 1 个节点并单击按钮 (addCategory) 时,我必须将一个节点添加到同一级别。如果我选择了 1 个节点并单击按钮 (addSubCategory),我必须将一个节点添加到子级别。
【问题讨论】:
我的问题是关于向选定节点添加新节点。例如,我有我的树视图节点,当我选择 1 个节点并单击按钮 (addCategory) 时,我必须将一个节点添加到同一级别。如果我选择了 1 个节点并单击按钮 (addSubCategory),我必须将一个节点添加到子级别。
【问题讨论】:
事实上,如果您使用的是 windows 表单或 web 表单,我猜它可能会有所改变,但是 pseudo-code 对于您的要求是这样的:
添加类别
treeView1.SelectedNode.Parent.Nodes.Add("my new category");
添加子类别
treeView1.SelectedNode.Nodes.Add("my new sub category");
在执行此操作之前,当然要检查 null 的 SelectedNode 和 Parent ;-)
【讨论】:
如果您单击一个节点并单击 addCategory 按钮,您可以获取该节点的父节点。然后向父节点添加一个节点。如果父项为空(已选择根项),只需向 TreeView 添加一个项。如果单击 addSubCategory 按钮,则将节点添加到所选节点。
编辑:
在以下代码中,“treeView1”是 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));
}
希望这会有所帮助! :)
【讨论】: