【问题标题】:How to add nodes to a treeview programatically?如何以编程方式将节点添加到树视图?
【发布时间】:2011-06-08 14:36:56
【问题描述】:

如何将节点动态添加到已经存在的树视图中?

如果举个例子,

-Root
  -child1

以上是已经存在的树视图。但我想向根添加一个节点(child2),输出就像..

-Root
  -child1
  -child2

【问题讨论】:

  • winforms、asp.net、javascript?
  • 不,这并不明显。你在asp.net中有一个treecontrol。您可以在 ASP.NET MVC 中使用 javascript/jquery 来修改树视图。所以下次要更有礼貌,因为需要帮助的是你而不是我。

标签: c# winforms


【解决方案1】:

试试这个:

TreeNode rootNode = TreeView.Nodes.Cast<TreeNode>().ToList().Find(n => n.Text.Equals("Root"));
if (rootNode != null)
{
    rootNode.Nodes.Add("child2");
}

【讨论】:

  • 感谢您的完美回复,但它给出的错误是“非静态字段、方法或属性‘System.Windows.Forms.TreeView.Nodes.Get’需要对象引用”
  • 您是否将 TreeView 替换为您的 treeView 的名称?
【解决方案2】:

尝试:

treeView1.Nodes.Add(new TreeNode())

详情请见:http://msdn.microsoft.com/de-de/library/system.windows.forms.treeview.nodes.aspx

【讨论】:

  • thanx,但是在initializecomponent()中已经生成了“Root”,我们如何在实际程序中使用它。
  • 如果它是自动生成的,请尝试 treeView1.TopNode 访问 treeviews 根节点或 treeView1.Nodes 访问节点集合。它带有 Add() 方法。请注意,在 Stackoverflow 中,说“谢谢”的方式是支持一个答案,如果它对你有用的话;)
【解决方案3】:

我假设您指的是 asp.net TreeView 控件

MyTreeView.Nodes.Add(new TreeNode() { Text = "Child 2" });

【讨论】:

  • 我不是一个 winforms 人,但从查看有关 winforms TreeView 的 MSDN 文章来看,它也适用于此。本质上,根节点是 TreeView 上的节点集合,您只需要一个节点即可。
【解决方案4】:

可以通过三种方式来控制像树视图一样的控件:

  1. 在标签中以声明方式添加值 - 这里不是一个选项
  2. 以编程方式绑定所有行 - 你可以这样做,但它是多余的
  3. 之后添加项目 TreeviewName.Nodes.Add()
  4. 添加到绑定数据集

如果您必须拥有相同的树视图 a) 显示给多人或 b) 在回发后重新构建,我实际上喜欢按摩和缓存数据集和绑定。如果它被重复使用,它比其他选项更简单且重量更轻。

【讨论】:

    猜你喜欢
    • 2022-08-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-01-04
    • 1970-01-01
    相关资源
    最近更新 更多