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 应用程序中,页面结构通常有一个主工作区,然后在工作区上下左右靠近边界的区域设置一些边栏,用于显示信息或放置一些 ...
随机推荐
- 分享知识-快乐自己:都说新的Arraylist 扩容是(1.5倍+1) 看了1.8的源代码发现不是这么回事
都说新的Arraylist 扩容是(1.5倍+1) 看了1.8的源代码发现不是这么回事 就用下面这段代码在jdk的三个版本运行看了下效果: import java.lang.reflect.Field ...
- appium自动化测试(二)
一. 获取应用包名和入口activity 获取应用包名和入口activity:aapt命令 aapt目录: 安卓sdk的build-tools目录下(如果要在cmd里直接运行,要配置环境变量,否则需要 ...
- File工具类
package cn.itcast.bos.utils; import java.io.IOException; import java.net.URLEncoder; import sun.misc ...
- JDeveloper 10g Certified on Windows 10 for EBS 12.1
JDeveloper 10g is now certified for Windows 10 desktops for Oracle E-Business Suite 12.1. See: Reco ...
- a, b交换与比较问题
1. 求a, b中较大的数,不使用if.?.switch等判断语句. 答案: 另一种思路是求两者的差,然后通过位运算判断差值的正负,不过个人觉得还是第一种各位简洁优雅. 2. 交换a, b的值,要求不 ...
- Flask 的整体流程
Flask 的整体流程 封装 requestContext 对象, full_dispatch_request(视图函数 执行), response返回 从app.run() 开始 -->> ...
- poscms仿站知识点总结(一)
最近在做基于poscms系统的企业站仿站项目,这个系列用于总结项目中遇到的一些前端问题,至于poscms,待我摸透之后再总结... 进入正题吧,仿站,首先是用仿站小工具把要仿的模板站扒下来,有时候会出 ...
- python tricks —— datetime 删除日期中的前导 0
>> from datetime import datetime >> now = datetime.now() >> now.strftime('%Y-%m-%d ...
- SVN客户端与服务器端搭建操作
一.客户端的安装 1.点击安装程序 2.修改svn安装位置 3.开始安装 4.客户端安装成功 5.回到左面 右键出现svn检出 tortoiSVN 表示安装成功 Myeclipse svn插件安装 ...
- WPF XMAL获取元素的父元素,子元素
/// 获得指定元素的父元素 /// </summary> /// <typeparam name="T">指定页面元素</typeparam> ...