首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > asp.net >

树状图 无限级 递归,该如何处理

2013-04-21 
树状图 无限级 递归要做一个活的导航代码如下:string myTree { JLUserBLL bll new JLUserBLL()Dat

树状图 无限级 递归
要做一个活的导航

代码如下:
  string myTree = "{";

 JLUserBLL bll = new JLUserBLL();

            DataTable table = bll.PassValue();

            DataView dv = new DataView(table);

            string loginUser = this.loginUser.username;
            var list = bll.GetMenu(loginUser);
            string tree = "";
            foreach (var item in list)
            {
                dv.RowFilter = "id=" + item.ChannelId + "";

                tree = TreeDataBind(dv);
            }
            tree = tree.Substring(0, tree.Length - 1);
            tree += "}"; 


  public string TreeDataBind(DataView dv)
        {

            foreach (DataRowView drv in dv)
            {
             
                myTree += "["; //创建一个新的节点
                //为新的借点设置属性 
                myTree += drv["DeptName"].ToString() + ",";
                myTree += drv["ParentId"].ToString() + ",";
                myTree += drv["id"].ToString() + ",";
                myTree += drv["DeptLevel"].ToString();
                myTree += "],";
                //过滤数据视图 父类id = 上一级的tid
                dv.RowFilter = "id=" + drv["ParentId"].ToString();
                //自己调用自己 
                de.Add(dement);

                TreeDataBind(dv);
            }
            de.OrderBy(e => e.DeptLevel);
            


        
            return trees;
        }树状图 无限级 递归,该如何处理

问题是它是倒着排序departLevel shi 3 2 1  并且 如何传给前台接收,前台如何接收 求代码! 在线等 行业数据 String 递归 导航
[解决办法]
一张表,表示树
Id pId  Name      Level
0  null 总公司    1
1  0    分公司一  2
2  0    分公司二  2
3  2    业务部    3

遍历时,
int level=1;
do
{
   选出level=1的行集合,遍历;
   每一行取出ID,搜索表中pId=ID的行,遍历,加到结果集中;
   递归所有层级;
   level++;
}
while(level选出的行数为0停止)
[解决办法]
你要转成json输出?

热点排行