2011-04-08 92 views
0

我有一个数据表,具有列topicid,主题名称,类别ID,类别名称,子类别ID,子类别名称 我必须将此表绑定到树视图,以便主题名称将作为父节点出现,类别名称作为主题和子类别名称的子节点将作为类别的子节点出现。树视图绑定到数据表

所有有名字作为ID的节点字段例如主题节点有主题名称和主题ID

类节点类别名称和类别ID和子类别节点有子类别名称和ID。

回答

0

这里是代码...

DataTable dtbl1=new DataTable();//parent datatable 
DataTable dtbl2=new DataTable();//child datatable 

DataSet ds = new DataSet(); 
ds.Tables.Add(dtbl1); 
ds.Tables.Add(dtbl2); 
ds.Relations.Add("Children", dtbl1.Columns["dtb1ID"], dtbl2.Columns["dtbl2ID"]);//define parent child relation in dataset 

if (ds.Tables[0].Rows.Count > 0) 
{ 
    trv.Nodes.Clear(); 
    Int32 count = 0; 

    foreach(DataRow masterRow in ds.Tables[0].Rows) 
    { 
     TreeNode masterNode = new TreeNode((String)masterRow["dtbl1ColumnYouWantToDisplay"], Convert.ToString(masterRow["dtbl1ID"])); 
     trv.Nodes.Add(masterNode); 

     foreach (DataRow childRow in masterRow.GetChildRows("Children")) 
     { 
      TreeNode childNode = new TreeNode((String)childRow["dtbl2ColumnYouWantToDisplay"], Convert.ToString(childRow["dtb2ID"])); 
      masterNode.ChildNodes.Add(childNode); 
      count++; 
     } 
    } 
    trv.ExpandAll(); 
}