【问题标题】:Adding child node to treeview将子节点添加到树视图
【发布时间】:2016-05-02 16:03:41
【问题描述】:
ProjectNumbers = DatabaseHandler.Instance.QuerySingleColumn(SelectProjectNumberQuery, "ProjectNumber");
      foreach (string ProjectNumber in ProjectNumbers)
      {
             ProjectTree.Nodes.Add(ProjectNumber);
             ProjectTree.EndUpdate();
             SelectWorkOrderNumberQuery = "SELECT DISTINCT WorkOrderNumber FROM dbo.SUBPRODUCTS WHERE ProjectNumber =" + Int32.Parse(ProjectNumber) + ";";
             WorkOrderNumbers = DatabaseHandler.Instance.QuerySingleColumn(SelectWorkOrderNumberQuery, "WorkOrderNumber");
                  foreach(string WorkOrderNumber in WorkOrderNumbers)
                  {                 
                      ProjectTree.Nodes[ProjectNumber].Nodes.Add(WorkOrderNumber); 
                  }
      }

我正在尝试使用 SQL 数据库中的 ProjectNumbers 和 WorkOrderNumbers 填充我的 ProjectTree。 ProjectTree.Nodes.Add(ProjectNumber) 在第一个 foreach 循环中运行良好。

将我的 WorkOrderNumber 添加为子项时(第二个 foreach 循环),我得到的对象没有引用错误,无法弄清楚原因。找到了一些他们使用 SelectedNode() 函数的相关主题,但这对我不起作用。

【问题讨论】:

标签: c# treeview


【解决方案1】:

让我们试试这个:

 ProjectNumbers = DatabaseHandler.Instance.QuerySingleColumn(SelectProjectNumberQuery, "ProjectNumber");
          foreach (string ProjectNumber in ProjectNumbers)
          {
                                 var node = new TreeNode(ProjectNumber);

                 SelectWorkOrderNumberQuery = "SELECT DISTINCT WorkOrderNumber FROM dbo.SUBPRODUCTS WHERE ProjectNumber =" + Int32.Parse(ProjectNumber) + ";";
                 WorkOrderNumbers = DatabaseHandler.Instance.QuerySingleColumn(SelectWorkOrderNumberQuery, "WorkOrderNumber");
                      foreach(string WorkOrderNumber in WorkOrderNumbers)
                      {                 
                            var workNode = new TreeNode(WorkOrderNumber);
                    node.Nodes.Add(workNode);
                      }
 ProjectTree.Nodes.Add(node);
          }

【讨论】:

  • 你知道为什么保留对节点的引用有效,但再次查找失败?
  • 因为 ProjectTree.Nodes[ProjectNumber] 正在寻找一个键,但是当您添加一个节点时,您只需为其设置一个标题
猜你喜欢
  • 2013-03-25
  • 2010-11-26
  • 2015-03-20
  • 2012-04-15
  • 2011-09-28
  • 1970-01-01
  • 1970-01-01
  • 2014-04-16
  • 2012-02-10
相关资源
最近更新 更多