1. TreeJson

str = GetTreeJsonByTable(dt, "id", "fid", "");
      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 > )
{
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 > )
{
//foreach (DataRow row in rows)
for (int i = ; i < (rowtote.Length); i++)
{
treesb.Append("{");
for (int j = ; 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 - , );
if (tabel.Select(string.Format("{0}='{1}'", rela, rowtote[i][idCol])).Length > )
{
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 - , );
}
treesb.Append("]");
treeResult.Append(treesb.ToString());
treeJson = treeResult.ToString();
treesb.Clear();
}
return treeJson;
}

EasyUI TreeJson的更多相关文章

  1. easyui treeJson 带层数

    public string GetTreeNav(int ID,int Num) { StringBuilder sb = new StringBuilder(); sb.Append("[ ...

  2. EasyUI - Tree 树组件

    效果: 数据库设计: 使用的数据: 其中的字段,是跟据要生成的树节点的属性定义的. text:代表要显示的字段名称. state:是否是目录节点. iconCls:节点的图标是什么. url:跳转的链 ...

  3. Easyui实用视频教程系列---Tree点击打开tab页面

    Easyui实用视频教程系列---Tree点击打开tab页面 首先 我们 要搭建环境 easyui 环境 然后 把tree 给创建出来 在某个位置 粘贴 下面代码 <ul id="tt ...

  4. 【EasyUI学习-2】Easyui Tree的异步加载

    作者:ssslinppp       1. 摘要 2. tree的相关介绍 3. 异步加载tree数据,并实现tree的折叠展开 3.1 功能说明: 3.2 前台代码 3.3 后台代码 4. 其他 1 ...

  5. easyui tree扩展tree方法获取目标节点的一级子节点

    Easyui tree扩展tree方法获取目标节点的一级子节点 /* 只返回目标节点的第一级子节点,具体的用法和getChildren方法是一样的 */ $.extend($.fn.tree.meth ...

  6. easyui里面的加载tree的两种方式

    第一种: 使用EasyUI中Tree 符合EasyUI中Tree的Json格式,我们先看一下,格式是如何的 [{ "id":1, "text":"My ...

  7. 【easyui】treegrid逐级加载源码

    当初看这源码的目的是: 1.treegrid是怎么实现逐级加载树结构的. 解: 见demo,主要就是点击节点的时候会请求后台. 2.treegrid加载后,第二次展开节点会不会再次请求后台. 解:第二 ...

  8. 使用EasyUI中Tree

    easyui里面的加载tree的两种方式 第一种: 使用EasyUI中Tree 符合EasyUI中Tree的Json格式,我们先看一下,格式是如何的 [{ , "text":&qu ...

  9. 前端框架 EasyUI (2)页面布局 Layout

    在 Web 程序中,页面布局对应用程序的用户体验至关重要. 在一般的信息管理类的 Web 应用程序中,页面结构通常有一个主工作区,然后在工作区上下左右靠近边界的区域设置一些边栏,用于显示信息或放置一些 ...

随机推荐

  1. Pandas排序

    Pandas有两种排序方式,它们分别是 - 按标签 按实际值 下面来看看一个输出的例子. import pandas as pd import numpy as np unsorted_df=pd.D ...

  2. dpdk对虚拟化的支持调研

    目录: 虚拟化 dpdk的实现研究 virtio vhost SR-IOV 热迁移相关 研究拓展 本文记录近期对dpdk在虚拟化和云计算领域应用的研究成果,内容梳理如下. 虚拟化 虚拟化,抽象来说,就 ...

  3. Springer Latex投稿

    大家好.我最近需要向springer旗下一期刊投稿,是用latex编写的.已经调试过,格式和出版的期刊比较接近.因为是第一次投国外期刊,所以没什么经验,在网上搜索了一些帖子,发现在投稿过程中还会出现这 ...

  4. datetimepicker

    <!DOCTYPE html> <html> <head> <title></title> <link href="./bo ...

  5. 临时开启Chrome 67拖放crx安装扩展方法

    打开Chrome的设置: chrome://flags/#extensions-on-chrome-urls 更改为enabled,应用后重起浏览器,就可以往 chrome://extensions ...

  6. [转载]java操作word生成水印

    应用场景 为了保护版权或辨别文件的真伪,有时需要在生成的Word文件中动态添加水印,PageOffice组件的WaterMark类就封装了给在线编辑的Word文件添加水印这一功能,调用接口非常简单. ...

  7. 【Java】访问权限

    一.访问权限修饰词 关键字 名称 本类 同一包中的类 子类 其他包中的类 public  接口访问权限 √ √ √ √ protected 继承访问权限 √ √ √ x 默认 包访问权限  √ √ x ...

  8. 自定义音频条形图--p52

    package com.zzw.qunyingzhuan2; import android.content.Context; import android.graphics.Canvas; impor ...

  9. ElasticSearch安装及简单配置说明

      目录 1.      准备安装包... 1 2.      安装jdk7. 1 3.      安装ElasticSearch. 2 4.      安装maven. 3 5.      集成IK ...

  10. .Net版SQLite无法访问网络位置的数据库文件-winOpen,os_win.c 36702异常

    最近一个C#小程序,希望将SQLite数据库放在网络共享的位置,让多个客户端同时访问.却发现SQLite连接不上该网络位置的数据库,而如果数据库在本地则一切正常. 例如将SQLite数据库 test. ...