首先要有一父子架構的資料表
Private void SetTree()
{
// 取得有父子架構的資料
DataTable dt = GetData("Select ID, Name, FatherID From MyTable");
// 跑第一層迴圈建立根節點
foreach (DataRow row in dt.Rows)
{
TreeNode root = new TreeNode(rows["ID"].ToString(), rows["Name"].ToString());
AddChildNode(dt, root);
TreeView1.Nodes.Add(root);
}
}
// 跑遞迴建立子節點
Private void AddChildNode(DataTable dt, TreeNode node)
{
DataRow[] Rows = dt.Select(string.Format("FatherID = {0}", node.Value));
if (rows.Count() > 0)
{
foreach (DataRow row in Rows)
{
TreeNode newNode = new TreeNode(row["ID"].ToString(), rows["Name"].ToString());
node.ChildNodes.Add(newNode);
AddChildNode(dt, newNode);
}
}
}
沒有留言:
張貼留言