EasyUI TreeJson
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的更多相关文章
- easyui treeJson 带层数
public string GetTreeNav(int ID,int Num) { StringBuilder sb = new StringBuilder(); sb.Append("[ ...
- EasyUI - Tree 树组件
效果: 数据库设计: 使用的数据: 其中的字段,是跟据要生成的树节点的属性定义的. text:代表要显示的字段名称. state:是否是目录节点. iconCls:节点的图标是什么. url:跳转的链 ...
- Easyui实用视频教程系列---Tree点击打开tab页面
Easyui实用视频教程系列---Tree点击打开tab页面 首先 我们 要搭建环境 easyui 环境 然后 把tree 给创建出来 在某个位置 粘贴 下面代码 <ul id="tt ...
- 【EasyUI学习-2】Easyui Tree的异步加载
作者:ssslinppp 1. 摘要 2. tree的相关介绍 3. 异步加载tree数据,并实现tree的折叠展开 3.1 功能说明: 3.2 前台代码 3.3 后台代码 4. 其他 1 ...
- easyui tree扩展tree方法获取目标节点的一级子节点
Easyui tree扩展tree方法获取目标节点的一级子节点 /* 只返回目标节点的第一级子节点,具体的用法和getChildren方法是一样的 */ $.extend($.fn.tree.meth ...
- easyui里面的加载tree的两种方式
第一种: 使用EasyUI中Tree 符合EasyUI中Tree的Json格式,我们先看一下,格式是如何的 [{ "id":1, "text":"My ...
- 【easyui】treegrid逐级加载源码
当初看这源码的目的是: 1.treegrid是怎么实现逐级加载树结构的. 解: 见demo,主要就是点击节点的时候会请求后台. 2.treegrid加载后,第二次展开节点会不会再次请求后台. 解:第二 ...
- 使用EasyUI中Tree
easyui里面的加载tree的两种方式 第一种: 使用EasyUI中Tree 符合EasyUI中Tree的Json格式,我们先看一下,格式是如何的 [{ , "text":&qu ...
- 前端框架 EasyUI (2)页面布局 Layout
在 Web 程序中,页面布局对应用程序的用户体验至关重要. 在一般的信息管理类的 Web 应用程序中,页面结构通常有一个主工作区,然后在工作区上下左右靠近边界的区域设置一些边栏,用于显示信息或放置一些 ...
随机推荐
- Pandas排序
Pandas有两种排序方式,它们分别是 - 按标签 按实际值 下面来看看一个输出的例子. import pandas as pd import numpy as np unsorted_df=pd.D ...
- dpdk对虚拟化的支持调研
目录: 虚拟化 dpdk的实现研究 virtio vhost SR-IOV 热迁移相关 研究拓展 本文记录近期对dpdk在虚拟化和云计算领域应用的研究成果,内容梳理如下. 虚拟化 虚拟化,抽象来说,就 ...
- Springer Latex投稿
大家好.我最近需要向springer旗下一期刊投稿,是用latex编写的.已经调试过,格式和出版的期刊比较接近.因为是第一次投国外期刊,所以没什么经验,在网上搜索了一些帖子,发现在投稿过程中还会出现这 ...
- datetimepicker
<!DOCTYPE html> <html> <head> <title></title> <link href="./bo ...
- 临时开启Chrome 67拖放crx安装扩展方法
打开Chrome的设置: chrome://flags/#extensions-on-chrome-urls 更改为enabled,应用后重起浏览器,就可以往 chrome://extensions ...
- [转载]java操作word生成水印
应用场景 为了保护版权或辨别文件的真伪,有时需要在生成的Word文件中动态添加水印,PageOffice组件的WaterMark类就封装了给在线编辑的Word文件添加水印这一功能,调用接口非常简单. ...
- 【Java】访问权限
一.访问权限修饰词 关键字 名称 本类 同一包中的类 子类 其他包中的类 public 接口访问权限 √ √ √ √ protected 继承访问权限 √ √ √ x 默认 包访问权限 √ √ x ...
- 自定义音频条形图--p52
package com.zzw.qunyingzhuan2; import android.content.Context; import android.graphics.Canvas; impor ...
- ElasticSearch安装及简单配置说明
目录 1. 准备安装包... 1 2. 安装jdk7. 1 3. 安装ElasticSearch. 2 4. 安装maven. 3 5. 集成IK ...
- .Net版SQLite无法访问网络位置的数据库文件-winOpen,os_win.c 36702异常
最近一个C#小程序,希望将SQLite数据库放在网络共享的位置,让多个客户端同时访问.却发现SQLite连接不上该网络位置的数据库,而如果数据库在本地则一切正常. 例如将SQLite数据库 test. ...