将子节点添加到树视图
Adding child node to treeview
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()
函数的地方找到了一些相关主题,但这对我不起作用。
让我们试试这个:
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);
}
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()
函数的地方找到了一些相关主题,但这对我不起作用。
让我们试试这个:
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);
}