存储树形的数据表转为Json
2024-09-28 19:22:29
/// <summary> /// 根据DataTable生成Json树结构 /// </summary> /// <param name="tabel">数据源</param> /// <param name="idCol">ID列</param> /// <param name="txtCol">Text列</param> /// <param name="rela">关系字段</param> /// <param name="pId">父ID</param> StringBuilder result = new StringBuilder(); StringBuilder sb = new StringBuilder(); private void GetTreeJsonByTable(DataTable tabel, string idCol, string txtCol, string rela, object pId) { result.Append(sb.ToString()); sb.Clear(); if (tabel.Rows.Count > 0) { sb.Append("["); string filer = string.Format("{0}='{1}'", rela, pId); DataRow[] rows = tabel.Select(filer); if (rows.Length > 0) { foreach (DataRow row in rows) { sb.Append("{\"id\":\"" + row[idCol] + "\",\"text\":\"" + row[txtCol] + "\",\"state\":\"open\""); if (tabel.Select(string.Format("{0}='{1}'", rela, row[idCol])).Length > 0) { sb.Append(",\"children\":"); GetTreeJsonByTable(tabel, idCol, txtCol, rela, row[idCol]); result.Append(sb.ToString()); sb.Clear(); } result.Append(sb.ToString()); sb.Clear(); sb.Append("},"); } sb = sb.Remove(sb.Length - 1, 1); } sb.Append("]"); result.Append(sb.ToString()); sb.Clear(); } }
调用:
最新文章
- 从源代码剖析Mahout推荐引擎
- Linux查看BIOS信息
- 自绘CListCtrl类,重载虚函数DrawItem
- [改善Java代码]不推荐覆写start方法
- textarea中限制输入字符长度
- JLink软件升级到4.92之后,Jlink不能用了
- [转]FFMpeg框架代码阅读
- C# winform 播放资源中的音频文件
- Python基础——2函数
- Go语言协程
- iis网站部署常见错误
- 使用three.js写全景图,使用sprite类canvas,结合射线,点击跳转指定全景图【转】
- openwrt中在软件包中定义PKG_INSTALL将会发生什么?
- 1、Keepalived及VRRP原理介绍
- 【转】js 对象按照键值(不分区大小写)排序,生成签名方法
- 零基础学C#算法(零基础学算法——C#版)
- java-集合小结
- 固定UILabel宽度分行显示
- 从Iris数据集开始---机器学习入门
- SQL学习笔记三(补充-1)之MySQL存储引擎