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

  • 相关阅读:
    数据分析之可反复与独立样本的T-Test分析
    朗朗上口的两幅对联
    mysql编码、数据表编码查看和改动总结
    2014-04-19编程之美初赛题目及答案解析
    测试集群模式安装实施Hadoop
    笔记:常用排序算法
    笔记:常用排序算法
    安装Redis并测试
    常见架构风格举例总结
    转载:PostgreSQL SQL的性能提升
  • 原文地址:https://www.cnblogs.com/jinghuimin/p/5279799.html
Copyright © 2011-2022 走看看