如何使用zTree动态加载数据

fish_whale 2018-04-19 03:48:50
页面加载进来时候创建一个只有2级的z-tree树,然后点击子节点向后台发送请求,查询此节点是否还有子数据,如果有则出现在此节点下,请问这要怎么实现
...全文
1230 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
winzond 2018-04-20
  • 打赏
  • 举报
回复
兄弟,我的思路跟你是相反的,我的菜单是手工拼接的json,我的方法是从子菜单查起,如果没有子菜单,直接不显示一级菜单,这样做的好处是:1、一次生成,不需要多次传递数据;二、不需要手工添加和删除节点,减少前台代码;三、用SQL代码,一条语句就可以判断。说来话长,给你贴代码吧
 public string getMenuJSON()     //动态生成菜单JSON
    {
        string strSql;
        string UserID = Session["UserID"].ToString();
        strSql = "select * from tb_MenuParent where MPID in (select MPID from tb_MenuChild where MCID in(select MCID from tb_MenuUser where UserID='" + UserID + "')) order by MPID";
        DataTable dtMenuParent = dbObj.GetDataSetStr(strSql, "dtMenuParent");
        string strSqlC;
        string strJson;
        strJson = Convert.ToString("[");      //JSON头
        for (int i = 0; i < dtMenuParent.Rows.Count; i++)
        {
            strJson += "{'name': '" + dtMenuParent.Rows[i][1].ToString() + "','children': [";       //JSON父节点头   
            strSqlC = "select MCID,MCName,MCUrl from tb_MenuChild where MCID in(select MCID from tb_MenuUser where UserID='" + UserID + "') and MPID='" + dtMenuParent.Rows[i][0].ToString() + "' order by MCID";
            DataTable dtMenuChild = dbObj.GetDataSetStr(strSqlC, "dtMenuChild");
            for (int j = 0; j < dtMenuChild.Rows.Count; j++)
            {
                strJson += "{'Cname': '" + dtMenuChild.Rows[j][1].ToString() + "',";     //JSON子节点名称
                strJson += "'Url':'" + dtMenuChild.Rows[j][2].ToString() + "'},";     //JSON子节点Url
            }
            strJson = strJson.Substring(0, strJson.Length - 1);             //去除多余","
            strJson += "]},";       //JSON父节点尾
            dtMenuChild.Dispose();
        }
        strJson = strJson.Substring(0, strJson.Length - 1);
        strJson += "]";     //JSON尾
        dtMenuParent.Dispose();
        return strJson;
    }
这个代码是我亲测有效的代码,有些自定义类和方法,跟书上教程的命名方式是一样的,应该能看懂,我就懒得去改成通用的代码了,希望能帮到你。
yaotomo 2018-04-19
  • 打赏
  • 举报
回复
从数据库获取的json格式必须满足一定的格式,这是我以前做的,返回的json例子

运行效果

87,914

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧