C#/ASP.Net は初めてです。現在、2 つの 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
以下は私のデータです tbldocument id Title File CategoryID 1 DCOM の構成 DCOM.doc PRODUPDT
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
すべてのコメントと提案に感謝します! 前もって感謝します!