zoukankan      html  css  js  c++  java
  • 如何从后台拼接json(tree)字符串,给jstree赋值

    public object ListMenu(DataTable _list)
    {
    StringBuilder sb = new StringBuilder();
    DataRow[] rows = _list.Select("PID=0");
    sb.Append("[");
    bool isFist = false;
    foreach (DataRow dr in rows)
    {
    if (isFist)
    sb.Append(",");
    isFist = true;
    string id = dr["ID"].ToString();
    sb.Append("{");
    sb.AppendFormat(""id":"{0}",", dr["ID"]);
    sb.AppendFormat(""text":"{0}",", dr["Name"]);
    sb.AppendFormat(""pid":"{0}",", dr["PID"]);
    string submenu = GetSubMenu(id, _list);
    if (submenu == "")
    {
    sb.AppendFormat(""leaf":"{0}",", "true");
    sb.Append(""children":[");
    }
    else
    {
    sb.AppendFormat(""expanded":"{0}",", "true");
    sb.Append(""children":[");
    sb.Append(submenu);
    }
    sb.Append("]");
    sb.Append("}");
    }
    sb.Append("]");
    _menu = sb.ToString();
    return _menu;
    }


    private string GetSubMenu(string pid, DataTable dt)
    {
    StringBuilder sb = new StringBuilder();
    DataRow[] rows = dt.Select("PID=" + pid);
    if (rows.Length > 0)
    {
    bool isFist = false;
    foreach (DataRow dr in rows)
    {
    if (isFist)
    sb.Append(",");
    isFist = true;
    string id = dr["ID"].ToString();
    sb.Append("{");
    sb.AppendFormat(""id":"{0}",", dr["ID"]);
    sb.AppendFormat(""text":"{0}",", dr["Name"]);
    sb.AppendFormat(""pid":"{0}",", dr["PID"]);
    string submenu = GetSubMenu(id,dt);
    if (submenu == "")
    {
    sb.AppendFormat(""leaf":"{0}",", "true");
    sb.Append(""children":[");
    }
    else
    {
    sb.AppendFormat(""expanded":"{0}",", "true");
    sb.Append(""children":[");
    sb.Append(submenu);
    }
    sb.Append("]");
    sb.Append("}");
    }
    }
    return sb.ToString();
    }

    可根据实际情况修改相应的值:如children可能是nodes

  • 相关阅读:
    批量执行工具PSSH详解
    详解IPTABLES
    nginx启动脚本
    ansible离线安装
    Linux性能评估工具
    Python中路径操作
    mongodb Enable Auth
    MySQL配置参数说明
    redis未授权访问
    php反序列化笔记
  • 原文地址:https://www.cnblogs.com/jinghuimin/p/5279799.html
Copyright © 2011-2022 走看看