簡體   English   中英

如何將子節點分組到相應的父節點?

[英]How do I group my child nodes to it's corresponding parent node?

我是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標題文件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

感謝所有意見和建議! 提前致謝!

更換

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);
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM