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) -----第二章 实体数据建模基础之创建一个简单的模型
第二章 实体数据建模基础 很有可能,你才开始探索实体框架,你可能会问“我们怎么开始?”,如果你真是这样的话,那么本章就是一个很好的开始.如果不是,你已经建模,并在实体分裂和继承方面感觉良好,那么你可以 ...
随机推荐
- Python异常基础
一.常见异常及场景举例 1.AssertionError 断言失败,断言是调试中常用(表示自己并不常用┑( ̄Д  ̄)┍)手段 举例: def foo(s): n = int(s) assert n ! ...
- Python基础 (上)
参考:菜鸟教程 Python用途 目录 一.数据类型 二.运算符 三.条件和循环控制语句 四.函数 五.模块 六.输入与输出 一.数据类型 string.list和tuple都属于sequenc ...
- PIE SDK地图图层控制
1. 功能简介 地图图层控制就是图层的相关操作,如地图图层数据的添加.删除.移动和拖拽等功能. 2. 功能实现说明 2.1. 实现思路及原理说明 第一步 图层添加是调用AddLayer方法将图层添加到 ...
- http请求报文和响应报文(2)
接上篇: 3.回应报文 理解回应报文,首先要弄清回应报文中的状态码. 相比于请求报文,对于响应报文,个人觉得还蛮有趣的. 主要由三部分组成:协议版本.状态码.状态码描述 3.1状态码 **常见的状态码 ...
- 如何添加网页QQ在线组件
免费开通QQ推广服务 复制代码到你想要展示的位置 粘贴,完成.
- MySQL 常用show 语句
1. show tables或show tables from database_name; -- 显示当前数据库中所有表的名称. 2. show databases; -- 显示mysql中所有数据 ...
- linux 运维基础之 禁止 ping
ping命令不要小瞧呀,小伙子!!! 听过死亡之ping不? 语法 ping [-dfnqrRv][-c<完成次数>][-i<间隔秒数>][-I<网络界面>][-l ...
- Java基础18-toString()方法、this关键字
1.toString()方法 在java中,所有对象都有toString()这个方法 创建类时没有定义toString方法输出对象时会输出哈希码值 它通常只是为了方便输出,比System.out.pr ...
- 中文输入法无法在 QtCreator(Linux) 中输入汉字
中文输入法无法在 QtCreator(Linux) 中输入汉字 环境 system: Deepin 15.7 Qt Creator 4.7.0 (GCC 5.3.1) 解决方法 下载 fcitx-qt ...
- [SDOI2013]刺客信条
Description 故事发生在1486 年的意大利,Ezio 原本只是一个文艺复兴时期的贵族,后来因为家族成员受到圣殿骑士的杀害,决心成为一名刺客.最终,凭借着他的努力和出众的天赋,成为了杰出的刺 ...