2013-03-23 1 views
3

저는 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 제목 파일 범주 ID 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 

모든 의견과 제안을 이해하십시오! 미리 감사드립니다!

답변

1

는 교체

foreach(DataRow drChild in dtNodes.Select("CategoryID=" + categoryid)) 
{ 
    TreeNode childNode = new TreeNode(drChild["TITLE"].ToString()); 
    CategoryNode.ChildNodes.Add(childNode); 
} 
+0

안녕하세요 아룬와

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

! 늦게 회신 해 주셔서 진심으로 감사드립니다 ... 귀하의 조언에 감사드립니다. 나는 그것을 시도했지만 내 코드에서 몇 점을 놓쳤다 고 생각한다. 여기 내가 한 일이있다. – Joel

+0

for (int i = 0; i Joel

+0

감사합니다. 도움을 감사하십시오! – Joel

관련 문제