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

  • 相关阅读:
    Leetcode Minimum Path Sum
    Leetcode House Robber II
    洛谷 P5375 【[THUPC2019]组合数据结构问题】题解
    洛谷 P1855 【榨取kkksc03】题解
    CF1173A 【Nauuo and Votes】题解
    [NOIP2018D1T1][NOIP2013D1T1][Luogu P5019]铺设道路 题解
    [BZOJ1083][SCOI2005]繁忙的都市 题解
    统计自己洛谷AC题目爬虫
    CF43A Football 题解
    SP2 PRIME1
  • 原文地址:https://www.cnblogs.com/jinghuimin/p/5279799.html
Copyright © 2011-2022 走看看