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) -----第二章 实体数据建模基础之创建一个简单的模型
第二章 实体数据建模基础 很有可能,你才开始探索实体框架,你可能会问“我们怎么开始?”,如果你真是这样的话,那么本章就是一个很好的开始.如果不是,你已经建模,并在实体分裂和继承方面感觉良好,那么你可以 ...
随机推荐
- PIE SDK元素位置和显示样式的修改
1功能简介 在数据的处理中会出现根据需求进行元素的位置和显示样式的修改,使元素的形状,空间位置得到改变,下面将介绍基于PIE SDK的元素位置和显示样式的修改. 2功能实现说明 2.1.1 实现思路及 ...
- 求入栈顺序为1234……N的序列的所有可能的出栈序列
class Program { private static void Fun(int x, int n, Stack<int> stack, List<int> outLis ...
- 牛客网Java刷题知识点之为什么HashMap和HashSet区别
不多说,直接上干货! HashMap 和 HashSet的区别是Java面试中最常被问到的问题.如果没有涉及到Collection框架以及多线程的面试,可以说是不完整.而Collection框架的 ...
- 线程同步(windows平台):事件
一:介绍 事件Event实际上是个内核对象,事件分两种状态:激发状态和未激发状态.分两种类型:手动处置事件和自动处置事件.手动处置事件被设置为激发状态后,会唤醒所有等待的线程,一直保持为激发状态,直到 ...
- Android中用Java代码实现zip文件解压缩
如果需要下载的文件有很多是中文名的,解压时有中文名的文件出现乱码,试了很多方法不能解决问题.据说有一个Java插件包,用这个插件包可以解决中文名乱码的问题,但不知解压的文件是否要用它提供的类压缩后的文 ...
- Steamworks and Unity – P2P多人游戏
之前我们讨论过“如何把Steamworks.Net和Unity整合起来”,这是一个很好的开始,现在我们研究深一点,谈一谈Steam中的多人游戏.这不是教程,但是可以指导你在你的游戏中如何使用Steam ...
- pat02-线性结构2. 一元多项式求导 (25)
02-线性结构2. 一元多项式求导 (25) 时间限制 400 ms 内存限制 65536 kB 代码长度限制 8000 B 判题程序 Standard 设计函数求一元多项式的导数.(注:xn(n为整 ...
- Django(5) session登录注销、csrf及中间件自定义、django Form表单验证(非常好用)
一.Django中默认支持Session,其内部提供了5种类型的Session供开发者使用: 数据库(默认) 缓存 文件 缓存+数据库 加密cookie 1.数据库Session 1 2 3 4 5 ...
- node.js async/await 继发执行与并发执行
async/await 继发执行与并发执行,看如何控制 两个异步函数 foo bar function foo() { return new Promise((resolve, reject) =&g ...
- VS 游戏:推箱子&对战游戏
推箱子 //只做了两关 class Program { static void Main(string[] args) { ; ; ; ; ; ; ; #region 地图绘制 , , ] { { { ...