树视图绑定到数据表

时间:2011-04-08 10:39:17

标签: c# asp.net

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

所有名称为id字段的节点示例主题节点都具有主题名称和主题ID

类别节点作为类别名称,类别ID和子类别节点具有子类别名称和id。

1 个答案:

答案 0 :(得分: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();
}