在表中有a1(主键),a2(parentid),a3,num四个字段, 从数据库调出,绑定radtreeview,以 Num 排序,望请指教

解决方案 »

  1.   

    建立一个视图,按照num进行排序的视图然后就是普通的TreeView数据绑定,主要使用你的a1和a2,进行递归运算,从而实现数据绑定。
      

  2.   

    这个知道呀,以num 进行排序效果不是多大
      

  3.   


        DataTable dt = new DataTable();
        protected void Page_Load(object sender, EventArgs e)
        {
            if (!IsPostBack)
            {
                dt.Columns.Add("a1");
                dt.Columns.Add("a2");
                dt.Columns.Add("a3");
                dt.Columns.Add("num", Type.GetType("System.Int32"));
                dt.Rows.Add(new object[] { "1", "0", "我的文件夹", 2 });
                dt.Rows.Add(new object[] { "2", "0", "工作文件夹", 1 });
                dt.Rows.Add(new object[] { "3", "1", "图片", 1 });
                dt.Rows.Add(new object[] { "4", "1", "文档", 2 });
                dt.Rows.Add(new object[] { "5", "3", "风景", 2 });
                dt.Rows.Add(new object[] { "6", "3", "人物", 1 });
                dt.Rows.Add(new object[] { "7", "2", "报告", 1 });
                dt.Rows.Add(new object[] { "8", "3", "写真", 3 });
                bindData("0", TreeView1.Nodes);
                        }
        }
        private void bindData(string parentid,TreeNodeCollection tnc)
        {
            DataRow[] ary_row = dt.Select("a2=" + parentid, "num");
            int i = 0;
            foreach (DataRow item in ary_row)
            {
                TreeNode node = new TreeNode();
                node.Text = item["a3"].ToString();
                node.Value = item["a1"].ToString();
                node.Expanded = true;
                tnc.Add(node);
                bindData(item["a1"].ToString(), tnc[i].ChildNodes);
                i++;
            }
        }