#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. c/c++编程排坑(1)-- 数据类型的“安静”转换

    这里主要介绍ANSI C的特性:当执行算术运算时,操作数的类型如果不同,就会发生转换.数据类型一般朝着精度更高.长度更长的方向转换,整型数如果转换为signed不会丢失信息,就转换为signed,否则 ...

  2. [UVA11825]Hackers' Crackdown(状压dp)

    题解降智警告 吐槽降智警告 思路降智警告 代码降智警告 题目传送门 洛谷 果然水题做多了连半道难点的都能给咱干蒙... 水题做多了降智  --鲁迅 题目大意:见传送门 心路历程见末尾 正解(大概): ...

  3. Python学习-字符串的基本知识

    字符串的基本知识 根据所展示形式的不同,字符串也可以分为两类 原始字符串: 使用单引号包括:‘liuwen’ 使用双引号包括:"liuwen" 使用3个单引号包括 :'''liuw ...

  4. Python面向对象之面向对象封装案例

    面向对象封装案例 封装 封装是面型对象编程的一大特点 面向对象编程的第一步--将属性和方法封装到一个抽象的类中: 外界使用类创建对象,然后让对象调用方法: 对象方法的细节都被封装在类的内部. 一个对象 ...

  5. 将网络图片转换为base64

    public static function htmlPdf() { $img_path = Env::get('ROOT_PATH').'/public/images/wechat/user.jpg ...

  6. 百练2755:神奇的口袋(简单dp)

    描述有一个神奇的口袋,总的容积是40,用这个口袋可以变出一些物品,这些物品的总体积必须是40.John现在有n个想要得到的物品,每个物品的体积分别是a1,a2……an.John可以从这些物品中选择一些 ...

  7. Maven_运行时环境

    首先,创建一动态web工程. Src-----源码目录 build文件夹在java结构下看不出,但可以在Navigator下可以看出是个源码目录,如下图: 以下图中是运行时环境. 它其实是一组jar包 ...

  8. 【02】json语法

    [02] JSON 语法是 JavaScript 语法的子集. JSON 语法规则 JSON 语法是 JavaScript 对象表示法语法的子集. 数据在名称/值对中 数据由逗号分隔 花括号保存对象 ...

  9. 【Codeforces 1027D】Mouse Hunt

    [链接] 我是链接,点我呀:) [题意] 题意 [题解] 先求出来强连通分量. 每个联通分量里面,显然在联通块的尽头(没有出度)放一个捕鼠夹就ok了 [代码] #include <bits/st ...

  10. 【Codeforces 140C】New Year Snowmen

    [链接] 我是链接,点我呀:) [题意] 题意 [题解] 每次都选择剩余个数最多的3个不同数字组成一组. 优先消耗剩余个数多的数字 这样能尽量让剩余的数字总数比较多,从而更加可能得到更多的3个组合 [ ...