zoukankan      html  css  js  c++  java
  • EasyUI TreeJson

    1. TreeJson

    str = GetTreeJsonByTable(dt, "id", "fid", "0");
          StringBuilder treeResult = new StringBuilder();
            StringBuilder treesb = new StringBuilder();
            public string GetTreeJsonByTable(DataTable tabel, string idCol, string rela, object pId)
            {
                string treeJson = string.Empty;
                treeResult.Append(treesb.ToString());
                treesb.Clear();
                if (tabel.Rows.Count > 0)
                {
                    treesb.Append("[");
    
                    string filer = string.Empty;
                    if (pId.ToString() == "")
                    {
                        filer = string.Format("{0} is null", rela);
                    }
                    else
                    {
                        filer = string.Format("{0}='{1}'", rela, pId);
                    }
                    DataRow[] rowtote = tabel.Select(filer);
                    if (rowtote.Length > 0)
                    {
                        //foreach (DataRow row in rows)
                        for (int i = 0; i < (rowtote.Length); i++)
                        {
                            treesb.Append("{");
                            for (int j = 0; j < tabel.Columns.Count; j++)
                            {
                                treesb.Append(""");
                                treesb.Append(tabel.Columns[j].ColumnName);
                                treesb.Append("":"");
                                treesb.Append(rowtote[i][j].ToString());
                                treesb.Append("",");
                            }
                            treesb.Remove(treesb.Length - 1, 1);
                            if (tabel.Select(string.Format("{0}='{1}'", rela, rowtote[i][idCol])).Length > 0)
                            {
                                treesb.Append(","children":");
                                GetTreeJsonByTable(tabel, idCol, rela, rowtote[i][idCol]);
                                treeResult.Append(treesb.ToString());
                                treesb.Clear();
                            }
                            treeResult.Append(treesb.ToString());
                            treesb.Clear();
                            treesb.Append("},");
                        }
                        treesb = treesb.Remove(treesb.Length - 1, 1);
                    }
                    treesb.Append("]");
                    treeResult.Append(treesb.ToString());
                    treeJson = treeResult.ToString();
                    treesb.Clear();
                }
                return treeJson;
            }
  • 相关阅读:
    [NOIP2012] 开车旅行
    八皇后
    [Noip2014] 解方程
    [Noip2012] 国王游戏
    [JZOJ4685] 【NOIP2016提高A组8.12】礼物
    [JZOJ100043] 【NOIP2017提高A组模拟7.13】第K小数
    大整数类模板
    [BZOJ2460] [BeiJing2011]元素
    [BZOJ5299] [CQOI2018]解锁屏幕
    [JZOJ4737] 【NOIP2016提高A组模拟8.25】金色丝线将瞬间一分为二
  • 原文地址:https://www.cnblogs.com/yimeishui/p/5902522.html
Copyright © 2011-2022 走看看