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) -----第二章 实体数据建模基础之创建一个简单的模型
第二章 实体数据建模基础 很有可能,你才开始探索实体框架,你可能会问“我们怎么开始?”,如果你真是这样的话,那么本章就是一个很好的开始.如果不是,你已经建模,并在实体分裂和继承方面感觉良好,那么你可以 ...
随机推荐
- WPF 使用第三方ttf字体
1.将字体文件直接添加到项目中,注意:将文件的“属性”--“生成操作”设置为“Resource” 2.在Xaml中使用,text可以使用文字或直接使用unicode编码,XAML中使用Unicode编 ...
- Scrum3.0 敏捷开发白皮书
一.什么是敏捷? 敏捷是一种以用户需求为核心.采用不断迭代的方式进行的软件开发模式.敏捷依靠自组织 的跨职能小团队,在短周期内,做出小块的东西来,通过快速.频繁的迭代,迅速的获取反 馈,进而不断的完善 ...
- Java线程池详解(一)
一.线程池初探 所谓线程池,就是将多个线程放在一个池子里面(所谓池化技术),然后需要线程的时候不是创建一个线程,而是从线程池里面获取一个可用的线程,然后执行我们的任务.线程池的关键在于它为我们管理了多 ...
- MVC JSON JavaScriptSerializer 进行序列化或反序列化时出错
MVC control中返回json格式数据一般都是如下格式 [HttpPost] public ActionResult CaseAudit(string name) { var data =&qu ...
- oracle 笔记---(三)__体系架构
查看控制文件位置 SQL> show parameter control_files; NAME TYPE VALUE ------------------------------------ ...
- flask综合整理2
session功能 首先我们知道session可以理解是一把钥匙,它存在在服务器上,其实在flask中也有session 1.系统自带的session from flask import sessio ...
- Nginx启动关闭和重启、文档直接下载不阅览
nginx启动相关 启动:sbin/nginx -c conf/nginx.conf 关闭:sbin/nginx -s stop 重启(重新加载配置文件):sbin/nginx -s reload 检 ...
- 吴恩达《Machine Learning Yearning》总结(1-10章)
1.为什么选择机器学习策略 案例:建立猫咪图像识别app 系统的优化可以有很多的方向: (1)获取更多的数据集,即更多的图片: (2)收集更多多样数据,如处于不常见的位置的猫的图,颜色奇异的猫的照片等 ...
- RequireJS 2.0 正式发布
就在前天晚上RequireJS发布了一个大版本,直接从version1.0.8升级到了2.0.随后的几小时James Burke又迅速的将版本调整为2.0.1,当然其配套的打包压缩工具r.js也同时升 ...
- dojo入门
1.引入dojo.js dojo的发行包里有4个子目录,要引入的文件是名叫"dojo"的子目录里的dojo.js. 假设你是这样的目录结构: project | +--dojo-l ...