ORM的实体类和数据库的类是一一对应的,如果有多级的嵌套循环json返回到前台为了方便展示可以使用mobile easyui,但是mobile easyui又需要特定的属性才可以,比如id,text,attrubule这样的属性,这时候可以通过前端JS递归去重新赋予jSON数组新属性,例如:

[{
"CC": "",
"DeleteFlag": 0,
"Id": "1",
"Manager": "z",
"ParentCode": null,
"ParentId": null,
"ProCode": "1",
"ProID": "1111111",
"ProLevel": 1,
"ProName": "222222222",
"SuspendTime": null,
"children": [{
"CC": "",
"DeleteFlag": 0,
"Id": "33333333",
"Manager": "y",
"ParentCode": "44444444",
"ParentId": "asdsadsad",
"ProCode": "asdsad",
"ProID": "dfdsfdfdf",
"ProLevel": 2,
"ProName": "xcvxcvxcv",
"SuspendTime": null,
"children": [{
"CC": null,
"DeleteFlag": 0,
"Id": "xcvxcvxcvxcvsewefrwghryhrty",
"Manager": "yem",
"ParentCode": "cvbcvbcvfbd",
"ParentId": "xcvbcvndfgtbdr",
"ProCode": "cxvcbdrgher",
"ProID": "1541654656",
"ProLevel": 3,
"ProName": "234234324234",
"SuspendTime": null,
"children": null
}]
}]
}]

可以转换成:

function GetNode(array) {
for (var i = 0; i < array.length; i++) {
array[i].id = array[i].Id;
array[i].text = array[i].ProName;
array[i].attributes = [];
//平级属性加入到easyui指定的属性集合
array[i].attributes.push({ "CC": array[i].CC });
array[i].attributes.push({ "DeleteFlag": array[i].DeleteFlag });
array[i].attributes.push({ "Manager": array[i].Manager });
array[i].attributes.push({ "ParentCode": array[i].ParentCode });
array[i].attributes.push({ "ParentId": array[i].ParentId });
array[i].attributes.push({ "ProID": array[i].ProID });
array[i].attributes.push({ "ProLevel": array[i].ProLevel });
array[i].attributes.push({ "ProName": array[i].ProName });
array[i].attributes.push({ "SuspendTime": array[i].SuspendTime });
array[i].attributes.push({ "ProCode": array[i].ProCode });
//删除原有的平级属性
delete array[i].Id;
delete array[i].CC;
delete array[i].DeleteFlag;
delete array[i].Manager;
delete array[i].ParentCode;
delete array[i].ParentId;
delete array[i].ProID;
delete array[i].ProLevel;
delete array[i].ProName;
delete array[i].SuspendTime;
delete array[i].ProCode;
//继续递归子集合
if (array[i].children&&array[i].children.length > 0) {
GetNode(array[i].children, array);
} else {
continue;
}
} }

最后使用

$('.tree').tree({
data: 转换后的数组
});

大功告成

mobile easyui兼容实体数据(tree插件为例)的更多相关文章

  1. PhoneGap+jQuery Mobile+Rest 访问远程数据

    最近研究Mobile Web技术.发现了一个好东西-PhoneGap! 发现用PhoneGap+jQuery Mobile是一个很完美的组合! 本实例通俗易懂.适合广大开发人群:高富帅.白富美.矮穷戳 ...

  2. js/jq基础(日常整理记录)-4-一个简单的自定义tree插件

    一.一个简单的自定义tree插件 上一篇是之前自定义的table插件,这一篇也是之前同期尝试做的一个tree插件. 话不多说,先看看长什么样子哈! 现在来看确实不好看,以后在优化吧! 数据源:ajax ...

  3. 使用ADO.NET 实体数据模型连接MySql

    原文:使用ADO.NET 实体数据模型连接MySql 版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csdn.net/a123_z/article/details/8 ...

  4. 基于vue手写tree插件那点事

    目录 iview提供的控件 手写控件 手写控件扩展 手写控件总结 # 加入战队 微信公众号 主题 Tree树形控件在前端开发中必不可少,对于数据的展示现在网站大都采取树形展示.因为大数据全部展示出来对 ...

  5. VS2017 之 MYSQL实体数据模

    Photon Server 和 Unity3D 数据交互: Photon Server 服务端编程 Unity3D 客户端编程 VS2017 之 MYSQL实体数据模 一.新建数据库连接后,点击下一步 ...

  6. 使用jQuery开发tree插件

    1.插件截图 2.插件使用 首先引入jquery库,然后引入tree.js.tree.css文件,如下: <script type="text/javascript" src ...

  7. 1.前端数据可视化插件:Highcharts、Echarts和D3(区别)

    前端数据可视化插件有很多,但我用过的只有Highcharts(https://www.hcharts.cn/).Echarts(http://echarts.baidu.com/)和D3(https: ...

  8. asp.net三层架构 及其中使用泛型获取实体数据介绍

    asp.net中使用泛型获取实体数据可以发挥更高的效率,代码简洁方便,本例采用三层架构.首先在model层中定义StuInfo实体,然后在 DAL层的SQLHelper数据操作类中定义list< ...

  9. 《Entity Framework 6 Recipes》翻译系列 (3) -----第二章 实体数据建模基础之创建一个简单的模型

    第二章 实体数据建模基础 很有可能,你才开始探索实体框架,你可能会问“我们怎么开始?”,如果你真是这样的话,那么本章就是一个很好的开始.如果不是,你已经建模,并在实体分裂和继承方面感觉良好,那么你可以 ...

随机推荐

  1. ubuntu root用图形界面登录

    http://blog.csdn.net/weimine/article/details/69055536 http://blog.csdn.net/gongxifacai_believe/artic ...

  2. 使用windows的BitLocker+VHD加密“文件夹”

    进入磁盘管理 创建VHD,选定位置 初始化创建的虚拟盘,新建简单卷 给新的盘启用BitLocker 其他: 快速锁定:manage-bde.exe D: -lock  -fd

  3. Android多语言与国际化

    internationalization (国际化)简称 i18n,因为在i和n之间还有18个字符,localization(本地化 ),简称L10n.一般用 语言_地区的形式表示一种语言,如 zh_ ...

  4. 1.3 js基础

    1.操作样式 .style  操作行间样式 .className  直接修改class   2.操作属性 .  操作已有的属性 []  点能做的方括号都能做,方括号里放字符串,能放变量.     3. ...

  5. Shell脚本检测程序,如果挂了就重启程序

    脚本如下: #!/bin/sh #要检查的进程名 PROGRESS_NAME="heihu_server" #----------------------------------- ...

  6. Nginx反向代理、负载均衡功能

    环境: [root@db02 ~]# uname -a Linux db02 -.el6.x86_64 # SMP Tue Mar :: UTC x86_64 x86_64 x86_64 GNU/Li ...

  7. Java复习之Eclipse快捷键大全

    Ctrl+1 快速修复(最经典的快捷键,就不用多说了)Ctrl+D: 删除当前行 Ctrl+Alt+↓ 复制当前行到下一行(复制增加)Ctrl+Alt+↑ 复制当前行到上一行(复制增加)Alt+↓ 当 ...

  8. ActiveReport报表更改连接字符串及参数

    PageReport pr = new PageReport (new FileInfo("报表路径")); //报表路径如../Order/OrderSale.rdlx if(p ...

  9. Linux防火墙命令

    linux 查看防火墙状态   1.查看防火墙状态 systemctl status firewalld firewall-cmd --state #查看默认防火墙状态(关闭后显示notrunning ...

  10. oracle学习篇八:约束

    ----约束------- --1.主键约束--唯一标识,不能为空,通常用于ID--1>创建主键create table person(id varchar2(20) primary key,n ...