谁个有做好的treeview的源码 能否给一个,如果适合我的立即给分,谢谢 最好是一个比较全面的源码??

解决方案 »

  1.   

    递归加载的代码,其他的很简单,懒得贴了protected void Page_Load(object sender, EventArgs e)
            {
                Method();
            }
            private void Method()
            {
                TVSort.Nodes.Clear();
                Sort st = new Sort();
                DataTable dt = st.GetAllSort();//获取表,列[0]是ID,列[1]是名称,列[2]是父结点ID            for (int i = 0; i < dt.Rows.Count; i++)
                {
                    DataRow dr = dt.Rows[i];
                    TreeNode td = new TreeNode(dr[1].ToString(), dr[0].ToString());
                    if (Convert.ToUInt32(dr[2]) == 0)
                    {  
                        TVSort.Nodes.Add(td);                    dt.Rows.Remove(dr);
                        getChildNodes(td,  dt);
                        i--;
                        td.ExpandAll();
                    }
                }   
            }
            private void getChildNodes(TreeNode pNode , DataTable dt)
            {
                for (int i=0;i< dt.Rows.Count ;i++)
                {
                    DataRow dr = dt.Rows[i];
                    if (Convert.ToString(dr[2]) == pNode.Value)
                    {
                        TreeNode td = new TreeNode(dr[1].ToString(), dr[0].ToString());
                        pNode.ChildNodes.Add(td);
                        dt.Rows.Remove(dr);
                        getChildNodes(td, dt);
                        i--;
                    }
                }            
            }