【问题标题】:Adding new nodes relative to TreeView selected node添加相对于 TreeView 选定节点的新节点
【发布时间】:2011-11-22 22:34:16
【问题描述】:

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

【问题讨论】:

    标签: c# asp.net treeview


    【解决方案1】:

    事实上,如果您使用的是 windows 表单或 web 表单,我猜它可能会有所改变,但是 pseudo-code 对于您的要求是这样的:

    添加类别

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

    添加子类别

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

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

    【讨论】:

      【解决方案2】:

      如果您单击一个节点并单击 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));
      }
      

      希望这会有所帮助! :)

      【讨论】:

      • protected void BtnAdd_Click(object sender, EventArgs e) { if (TreeView1.SelectedNode != null ) if (RadioButton1.Checked==true) { string ParentNode; ParentNode = TextBox1.Text.Trim(); TreeView1.Nodes.Add(父节点); } } 我有这个代码。但是在程序“TreeView1”和“ParentNode”下划线:我不明白的地方
      • 你能解释清楚吗..treeview1 不是 Treeview 的名称??如果不是,你能解释一下我如何描述..这是我第一次使用树视图?
      • 您在表单上放置的每个控件或表单本身都有一个名称属性来识别它。您的 TreeView 的名称属性是什么?在我的代码示例中,名称是“treeView1”。
      • TreeView> 这是我的 treeview 源代码。而且网站不是应用程序
      • 现在我明白了。您有一个 ASP.NET 应用程序,而不是一个 WindowsForms 应用程序。然后确实您的控件是由 ID 而不是 Name.. :) 再次检查我编辑的答案,确保 ID 已更正为您的 TreeView 的 ID! :)
      猜你喜欢
      • 1970-01-01
      • 2012-07-21
      • 1970-01-01
      • 1970-01-01
      • 2011-04-22
      • 1970-01-01
      • 1970-01-01
      • 2013-04-16
      • 1970-01-01
      相关资源
      最近更新 更多