日期:2014-05-18  浏览次数:20581 次

无限级目录绑定Tree问题.在线等~解决立马结贴.
现在我有一个表A,里面有三个字段,如:
表A:
ID PID Name
sys null 系统管理
sysu sys 用户信息
sysc sys 这是什么
sysd sysc 我不知道

当PID为null时说明是第一级目录,要像下面的结构:

-系统管理
  -用户信息
  -这是什么
  -我不知道

这样一个表绑定到Tree上面.应该怎么做啊.做过的大哥帮下忙.非常谢谢

------解决方案--------------------
C# code

    private void InitTree(TreeNodeCollection Nds)
    {
        DataView dvroles = new DataView();
        TreeNode tmpNd;

        string strRID;
        dvroles.Table = SubjTable;
        dvroles.RowFilter = " PID=ID";
        foreach (DataRowView drvrole in dvroles)
        {
            strRID = drvrole["ID"].ToString();
            tmpNd = new TreeNode();
            tmpNd.Value = drvrole["ID"].ToString();
            tmpNd.Text = drvrole["Name"].ToString();
            Nds.Add(tmpNd);
            AddChildren(tmpNd.ChildNodes, strRID);
        }
    }

private void AddChildren(TreeNodeCollection Nds, string ParentId)
    {
        DataView dvroles = new DataView();
        TreeNode tmpNd;

        string strRID;
        dvroles.Table = SubjTable;
        dvroles.RowFilter = " PID IS NOT NULL AND PID=" + ParentId;
        foreach (DataRowView drvrole in dvroles)
        {
            strRID = drvrole["ID"].ToString();
            tmpNd = new TreeNode();
            tmpNd.Value = drvrole["ID"].ToString();
            tmpNd.Text = drvrole["Name"].ToString();
            Nds.Add(tmpNd);
            AddChildren(tmpNd.ChildNodes, strRID);
        }
    }

------解决方案--------------------
发我消息.我发给你