#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. 输入框点击下滑Ztree菜单

    记录一个功能实现代码,我这边前端用的是layui,需要实现的效果如下: 需求:当点击选择地区的时候会出现如上图的下拉菜单. 分析:首先肯定给这个输入框加监听,click方法,然后将ztree的div显 ...

  2. Linux 安装 Tomcat 详解

    说明:安装的 tomcat 为解压版(即免安装版):apache-tomcat-8.5.15.tar.gz (1)使用 root 用户登录虚拟机,在根目录下的 opt 文件夹新建一个 software ...

  3. 转载:tomcat实现热部署的配置

    tomcat实现热部署的配置   我们实现热部署后,自然就可以通过maven操作tomcat了,所以就需要maven取得操作tomcat的权限,现在这一步就是配置tomcat的可操作权限. 进入tom ...

  4. 访问请求参数request.getParameter()

    访问请求参数request.getParameter() 制作人:全心全意 getParameter() 例: 传递参数页: <%@ page language="java" ...

  5. Python爬虫入门教程: 半次元COS图爬取

    半次元COS图爬取-写在前面 今天在浏览网站的时候,忽然一个莫名的链接指引着我跳转到了半次元网站 https://bcy.net/ 打开之后,发现也没有什么有意思的内容,职业的敏感让我瞬间联想到了 c ...

  6. js获取昨天,最近7天,最近30天通用方法

    function formatDate (val) { // 格式化时间 let start = new Date(val) let y = start.getFullYear() let m = ( ...

  7. L2-012. 关于堆的判断(STL中heap)

    L2-012. 关于堆的判断   将一系列给定数字顺序插入一个初始为空的小顶堆H[].随后判断一系列相关命题是否为真.命题分下列几种: “x is the root”:x是根结点: “x and y ...

  8. 关于Git的简单使用

    新电脑git push一直出问题,到现在也没有解决,但是一些git的命令还是有用的,就先记下来吧.(下图就是没解决的报错) 一.上传本地项目到git 1.初始化git git init 2.配置用户名 ...

  9. 在psql客户端中修改函数

    \ef 创建一个新的函数. \df 显示已经创建的函数. \df+    somefunc 显示这个函数的详细定义 \ef   somefunc 编辑这个函数, 编辑保存退出之后,要执行 \g ,刚才 ...

  10. Qt移动应用开发(二):使用动画框架

    Qt移动应用开发(二):使用动画框架 上一篇博客介绍了怎样使用Qt的QML来对屏幕分辨率大小进行适应,其实,不同分辨率的适应是一个很棘手的问题,除了分辨率不同外,宽高比(aspect ratio)也不 ...