private void bindTree(DataTable dt)
{
TreeNode mainNode = new TreeNode(); //这里是创建一个根节点,就是dome中看到的Root
DataRow[] dr = dt.Select("Pid='0'");
if (dr[0]!=null)
{
mainNode.Text = dr[0]["Department_Name"].ToString();
mainNode.Tag = dr[0]["Department_ID"].ToString();
mainNode.Expand();
createChildTree(mainNode,dt, dr[0]["Department_ID"].ToString());
treeDepartment.Nodes.Add(mainNode);
}
}
private void createChildTree(TreeNode parentNode,DataTable dt, string pid)
{
DataRow[] drlist = dt.Select(" Pid='" + pid + "'");
foreach (DataRow dr in drlist)
{
TreeNode childNode = new TreeNode(dr["Department_Name"].ToString());
childNode.Tag = dr["Department_ID"].ToString();
createChildTree(childNode,dt, dr["Department_ID"].ToString());
parentNode.Nodes.Add(childNode);
}
}
数据库中数据源设计如下: