mobile easyui兼容实体数据(tree插件为例)
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插件为例)的更多相关文章
- PhoneGap+jQuery Mobile+Rest 访问远程数据
最近研究Mobile Web技术.发现了一个好东西-PhoneGap! 发现用PhoneGap+jQuery Mobile是一个很完美的组合! 本实例通俗易懂.适合广大开发人群:高富帅.白富美.矮穷戳 ...
- js/jq基础(日常整理记录)-4-一个简单的自定义tree插件
一.一个简单的自定义tree插件 上一篇是之前自定义的table插件,这一篇也是之前同期尝试做的一个tree插件. 话不多说,先看看长什么样子哈! 现在来看确实不好看,以后在优化吧! 数据源:ajax ...
- 使用ADO.NET 实体数据模型连接MySql
原文:使用ADO.NET 实体数据模型连接MySql 版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csdn.net/a123_z/article/details/8 ...
- 基于vue手写tree插件那点事
目录 iview提供的控件 手写控件 手写控件扩展 手写控件总结 # 加入战队 微信公众号 主题 Tree树形控件在前端开发中必不可少,对于数据的展示现在网站大都采取树形展示.因为大数据全部展示出来对 ...
- VS2017 之 MYSQL实体数据模
Photon Server 和 Unity3D 数据交互: Photon Server 服务端编程 Unity3D 客户端编程 VS2017 之 MYSQL实体数据模 一.新建数据库连接后,点击下一步 ...
- 使用jQuery开发tree插件
1.插件截图 2.插件使用 首先引入jquery库,然后引入tree.js.tree.css文件,如下: <script type="text/javascript" src ...
- 1.前端数据可视化插件:Highcharts、Echarts和D3(区别)
前端数据可视化插件有很多,但我用过的只有Highcharts(https://www.hcharts.cn/).Echarts(http://echarts.baidu.com/)和D3(https: ...
- asp.net三层架构 及其中使用泛型获取实体数据介绍
asp.net中使用泛型获取实体数据可以发挥更高的效率,代码简洁方便,本例采用三层架构.首先在model层中定义StuInfo实体,然后在 DAL层的SQLHelper数据操作类中定义list< ...
- 《Entity Framework 6 Recipes》翻译系列 (3) -----第二章 实体数据建模基础之创建一个简单的模型
第二章 实体数据建模基础 很有可能,你才开始探索实体框架,你可能会问“我们怎么开始?”,如果你真是这样的话,那么本章就是一个很好的开始.如果不是,你已经建模,并在实体分裂和继承方面感觉良好,那么你可以 ...
随机推荐
- ubuntu root用图形界面登录
http://blog.csdn.net/weimine/article/details/69055536 http://blog.csdn.net/gongxifacai_believe/artic ...
- 使用windows的BitLocker+VHD加密“文件夹”
进入磁盘管理 创建VHD,选定位置 初始化创建的虚拟盘,新建简单卷 给新的盘启用BitLocker 其他: 快速锁定:manage-bde.exe D: -lock -fd
- Android多语言与国际化
internationalization (国际化)简称 i18n,因为在i和n之间还有18个字符,localization(本地化 ),简称L10n.一般用 语言_地区的形式表示一种语言,如 zh_ ...
- 1.3 js基础
1.操作样式 .style 操作行间样式 .className 直接修改class 2.操作属性 . 操作已有的属性 [] 点能做的方括号都能做,方括号里放字符串,能放变量. 3. ...
- Shell脚本检测程序,如果挂了就重启程序
脚本如下: #!/bin/sh #要检查的进程名 PROGRESS_NAME="heihu_server" #----------------------------------- ...
- Nginx反向代理、负载均衡功能
环境: [root@db02 ~]# uname -a Linux db02 -.el6.x86_64 # SMP Tue Mar :: UTC x86_64 x86_64 x86_64 GNU/Li ...
- Java复习之Eclipse快捷键大全
Ctrl+1 快速修复(最经典的快捷键,就不用多说了)Ctrl+D: 删除当前行 Ctrl+Alt+↓ 复制当前行到下一行(复制增加)Ctrl+Alt+↑ 复制当前行到上一行(复制增加)Alt+↓ 当 ...
- ActiveReport报表更改连接字符串及参数
PageReport pr = new PageReport (new FileInfo("报表路径")); //报表路径如../Order/OrderSale.rdlx if(p ...
- Linux防火墙命令
linux 查看防火墙状态 1.查看防火墙状态 systemctl status firewalld firewall-cmd --state #查看默认防火墙状态(关闭后显示notrunning ...
- oracle学习篇八:约束
----约束------- --1.主键约束--唯一标识,不能为空,通常用于ID--1>创建主键create table person(id varchar2(20) primary key,n ...