如何将子节点分组到它对应的父节点
本文关键字:父节点 节点 点分 | 更新日期: 2023-09-27 18:05:31
我是c#/ASP.Net的新手。我现在有一个项目,涉及绑定树从两个SQL表。我做了一些家庭作业。我可以把我的树绑起来。首先,这是我的桌子。我的目标是把我的孩子归到对应的父母那里。但是如果这个孩子进入了所有的父母。我知道我就要成功了,但是我卡住了。(
tblCategory(parentnodes)
categoryID(varchar(20))
Category(varchar(50))
active(char(1))
tblDocuments(childnodes)
id(int)
description(varchar(100))
title(varchar(20))
categoryid(varchar(20))
tblcategory.categoryid = tbldocuments.categoryid
这是我的代码。
protected void Page_Load(object sender, EventArgs e)
{
if (!Page.IsPostBack)
{
//bindtree
DataTable dtCategoryNodes = new DataTable();
dtCategoryNodes = content.dtCategoryNodes();
dtCategoryNodes.AcceptChanges();
DataTable dtNodes = new DataTable();
dtNodes = content.GetNodes();
dtNodes.AcceptChanges();
TreeNode CategoryNode = null;
for (int i = 0; i < dtCategoryNodes.Rows.Count; i++)
{
string categoryid = dtCategoryNodes.Rows[i]["CategoryID"].ToString();
CategoryNode = new TreeNode(dtCategoryNodes.Rows[i]
"CATEGORY"].ToString());
CategoryNode.Collapse();
for (int j = 0; j < dtNodes.Rows.Count; j++)
{ string parentid = dtNodes.Rows[j]["parentid"].ToString();
TreeNode childNode = new TreeNode(dtNodes.Rows[j]["TITLE"].ToString());
CategoryNode.ChildNodes.Add(childNode);
}
tvContents.Nodes.Add(CategoryNode);
tvContents.DataBind();
}
}
}
但是这里有个问题。这是我的树发生的事情。
a. Crift Items
a.1Configuring DCOM
b.Internal Refresher Trainings
b.1Configuring DCOM
c. Product/Process Update
c.1 Configuring DCOM
d.Promotions/Discounts
d.1 Configuring DCOM
e.QA Update
e.1 Configuring DCOM
是我的数据tbldocumentid标题文件类别id1配置DCOM DCOM.doc producpdt
tblCategory
CategoryID Category active
CRIFT Crift Items Y
IRTRAIN Internal Refresher Trainings Y
PRODUPDT Product/Process Update Y
PROMODISCS Promotions/Discounts Y
QAUPDT QA Update Y
感谢所有的评论和建议!提前感谢!
Replace
for (int j = 0; j < dtNodes.Rows.Count; j++)
{ string parentid = dtNodes.Rows[j]["parentid"].ToString();
TreeNode childNode = new TreeNode(dtNodes.Rows[j]["TITLE"].ToString());
CategoryNode.ChildNodes.Add(childNode);
}
foreach(DataRow drChild in dtNodes.Select("CategoryID=" + categoryid))
{
TreeNode childNode = new TreeNode(drChild["TITLE"].ToString());
CategoryNode.ChildNodes.Add(childNode);
}