#region 
        System.Text.StringBuilder b_appline = new System.Text.StringBuilder();
        System.Text.StringBuilder b_children = new System.Text.StringBuilder();
        /// <summary>
        /// 适用于zTree 、EasyUI tree、EasyUI treegrid
        /// zTree设置id,name,EastyUI 设置 id,text EasyUI treegrid 可自定义
        /// </summary>
        /// <param name="Source">数据源</param>
        /// <param name="_parentidName">父级名称</param>
        /// <param name="_parentidValue">父级顶级节点</param>
        /// <param name="Key">子节点(唯一值)</param>
        /// <returns></returns>
        public string GetTreeJson(DataTable Source, string _parentidName, string _parentidValue, string Key)
        {
            try
            {
                b_appline.Append(b_children.ToString());
                b_children.Clear();
                if (Source.Rows.Count > 0)
                {
                    b_children.Append("[");
                    DataRow[] row = Source.Select(string.Format("{0}='{1}'", _parentidName, _parentidValue));
                    if (row.Count() > 0)
                    {
                        for (int i = 0; i < row.Count(); i++)
                        {
                            b_children.Append("{");
                            for (int c = 0; c < Source.Columns.Count; c++)
                            {
                                b_children.AppendFormat("\"{0}\":\"{1}\",", Source.Columns[c].ColumnName, row[i].ItemArray[c]);
                            }
                            b_children.Remove(b_children.Length - 1, 1);
                            if (Source.Select(string.Format("{0}='{1}'", _parentidName, row[i][Key].ToString())).Length > 0)
                            {
                                b_children.Append(",\"children\":");
                                GetTreeJson(Source, _parentidName,row[i][Key].ToString(), Key);
                                b_appline.Append(b_children.ToString());
                                b_children.Clear();
                            }
                            b_appline.Append(b_children.ToString());
                            b_children.Clear();
                            b_children.Append("},");
                        }
                        b_children.Remove(b_children.Length - 1, 1);
                    }
                    b_children.Append("]");
                    b_appline.Append(b_children.ToString());
                    b_children.Clear();
                }
                return b_appline.ToString();
            }
            catch (Exception)
            {

throw;
            }
        }
        #endregion

适用于zTree 、EasyUI tree、EasyUI treegrid的更多相关文章

  1. [转]easyui tree 模仿ztree 使用扁平化加载json

    原文地址:http://my.oschina.net/acitiviti/blog/349377 参考文章:http://www.jeasyuicn.com/demo/treeloadfilter.h ...

  2. 数据网格和树-EasyUI Datagrid 数据网格、EasyUI Propertygrid 属性网格、EasyUI Tree 树、EasyUI Treegrid 树形网格

    EasyUI Datagrid 数据网格 扩展自 $.fn.panel.defaults.通过 $.fn.datagrid.defaults 重写默认的 defaults. 数据网格(datagrid ...

  3. jquery easyui tree dialog

    <script type="text/javascript" src="<%=request.getContextPath()%>/include/ja ...

  4. 【项目经验】EasyUI Tree

    ITOO5.0开始了,我参加了伟大的基础系统,从整体上来说,基础系统有三个职能: 1.自己的核心职能--选课(公共选修课,专业选修课),课表: 2.为其他系统提供真实数据: 3.维护信息 而近两三天, ...

  5. EasyUI tree 异步树与采用扁平化实现的同步树

    所谓好记性不如烂笔头,为了以防忘记,才写下这篇博客,废话不多.. 异步树: tips:   可以采用easyui里的原始数据格式,也可以采用扁平化的数据格式. 使用场景: 当菜单模块数量庞大或者无限极 ...

  6. Easyui Tree方法扩展 - getLevel(获取节点级别)

    Easyui Tree一直就没有提供这个方法,以前没有用到,所以一直没怎么在意,这次自己用到了,顺便扩展了一个方法,分享给大家. $.extend($.fn.tree.methods, { getLe ...

  7. Jquery EasyUI Tree .net实例

    图片: 针对tree: 数据库: CREATE TABLE [dbo].[SystemModel]( [Id] [,) NOT NULL, [Name] [nvarchar]() NULL, [Fat ...

  8. Jquery easyui Tree的简单使用

    Jquery easyui Tree的简单使用 Jquery easyui 是jQuery EasyUI是一组基于jQuery的UI插件集合,而jQuery EasyUI的目标就是帮助web开发者更轻 ...

  9. Jquery easyui tree的使用

    这个ui用的一切都是json数据.树也是如此! 后台需要返回与格式匹配的json数据才能正确加载树. 页面定义一个ui: <ul id="messageInfoAddTree" ...

随机推荐

  1. CSDN怎么转载别人的博客

    在参考"如何快速转载CSDN中的博客"后,由于自己不懂html以及markdown相关知识,所以花了一些时间来弄明白怎么转载博客,以下为转载CSDN博客步骤和一些知识小笔记. 参考 ...

  2. vim基础(二)

    上一篇提到了插入与删除.定位.复制与粘贴以及退出与保存几项基本操作,这篇继续整理其他常用命令. 撤销与替换 首先是我们在输入过程中不小心打错了,或者误删了,怎么恢复?在word里我们有ctrl+Z,v ...

  3. Jmeter BeanShell PreProcessor使用笔记

    打印log log.info("content:" + content); 将字符串转化为JsonString import com.alibaba.fastjson.JSON; ...

  4. juruo的刷题&博文祭

    Nothing--- 祭我bzoj过66题,博文240篇(.弱.) 自娱(愚)自乐下-

  5. java 生成20位唯一ID,生成不会重复的20位数字----https://blog.csdn.net/weixin_36751895/article/details/70331781

    java 生成20位唯一ID,生成不会重复的20位数字----https://blog.csdn.net/weixin_36751895/article/details/70331781

  6. nyoj 1112 求次数(map, set)

    求次数 时间限制:1000 ms  |  内存限制:65535 KB 难度:2   描述 题意很简单,给一个数n 以及一个字符串str,区间[i,i+n-1] 为一个新的字符串,i 属于[0,strl ...

  7. 51. spring boot属性文件之多环境配置【从零开始学Spring Boot】

    原本这个章节是要介绍<log4j多环境不同日志级别的控制的>但是没有这篇文章做基础的话,学习起来还是有点难度的,所以我们先一起了解下spring boot属性文件之多环境配置,当然文章中也 ...

  8. hdu3461

    题意描述:有一个类似滚轮式的密码锁放在一排共n个,有m种操作每次操作一个区间,且此次操作后的所有密码相同,问最多能形成多少种密码 解决:将区间分为可变部分和不可变部分,没当有可变部分时候总区间数要减去 ...

  9. JavaScript 读取CSV文件并转为js对象

    html部分 <!-- 创建隐藏file input --><button type="button" name="seach" onclic ...

  10. Vue插槽的另外一些特性

    之前有个项目,想判断一下,某一个模板内的插槽是否被使用. 不知道是不是问题过于简单,网上没有这方面的说明.我就抽时间验证一下vue插槽相关的一些功能. 然后写下这篇随笔,希望对后来人能有一些帮助. 简 ...