Я новичок в 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
ниже мои данные 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
Цените все комментарии и предложения! Заранее спасибо!
привет Арун! извините за поздний ответ ... спасибо за ваш совет. Я пробовал, но я думаю, что пропустил некоторые моменты в своем коде. вот что я сделал. – Joel
для (int i = 0; i
Joel
Спасибо ВАМ! Цените помощь! – Joel