简单树组织数据格式化为标准树组织数据
2016-12-13 07:20
183 查看
概述
在工作中,很多时候会遇到树组织,但是从数据库里面查询出来的结果是一个简单的树组织,这就需要将简单的树组织转换为标准的树组织,以便使用,本文分享一个简单的function来实现简单到标准的转换。
简单和标准树组织数据
1、简单树组织
简单的树组织包含id,pid,attr等信息,是一个平铺的结构,如:
标准的树组织跟简单的树组织的区别就是包含层级结构,如:
转换函数
---------------------------------------------------------------------------------------------------------------
技术博客
http://blog.csdn href="http://lib.csdn.net/base/dotnet" target=_blank>.NET/gisshixisheng
在线教程
http://edu.csdn href="http://lib.csdn.net/base/dotnet" target=_blank>.Net/course/detail/799
Github
https://github.com/lzugis/
联系方式
q q:1004740957
e-mail:niujp08@qq.com
公众号:lzugis15
Q Q 群:452117357(webgis)
337469080(Android)
在工作中,很多时候会遇到树组织,但是从数据库里面查询出来的结果是一个简单的树组织,这就需要将简单的树组织转换为标准的树组织,以便使用,本文分享一个简单的function来实现简单到标准的转换。
简单和标准树组织数据
1、简单树组织
简单的树组织包含id,pid,attr等信息,是一个平铺的结构,如:
[ {id:"0",pid:"-1",name:"name0"}, {id:"01",pid:"0",name:"name01"}, {id:"02",pid:"0",name:"name02"}, {id:"011",pid:"01",name:"name011"}, ... ]2、标准的树组织
标准的树组织跟简单的树组织的区别就是包含层级结构,如:
[ {id:"0",pid:"-1",name:"name0",children:[ {id:"01",pid:"0",name:"name01",children:[ {id:"011",pid:"01",name:"name011"}, ... ]}, {id:"02",pid:"0",name:"name02"}, ... ]}, ... ]
转换函数
_transform2NormalData:function (sNodes){ var scope = this; var i,l; var key = scope.data.simpleData.idKey,//"id" parentKey=scope.data.simpleData.pIdKey,//"pid" childKey=scope.data.childKey;//"children" if (!key || key=="" || !sNodes) return []; if (sNodes.length>0) { var r = []; var tmpMap = []; for (i=0, l=sNodes.length; i<l; i++) { tmpMap[sNodes[i][key]] = sNodes[i]; } for (i=0, l=sNodes.length; i<l; i++) { if (tmpMap[sNodes[i][parentKey]] && sNodes[i][key] != sNodes[i][parentKey]) { if (!tmpMap[sNodes[i][parentKey]][childKey]) tmpMap[sNodes[i][parentKey]][childKey] = []; tmpMap[sNodes[i][parentKey]][childKey].push(sNodes[i]); } else { r.push(sNodes[i]); } } return r; } else { return [sNodes]; } }
---------------------------------------------------------------------------------------------------------------
技术博客
http://blog.csdn href="http://lib.csdn.net/base/dotnet" target=_blank>.NET/gisshixisheng
在线教程
http://edu.csdn href="http://lib.csdn.net/base/dotnet" target=_blank>.Net/course/detail/799
Github
https://github.com/lzugis/
联系方式
q q:1004740957
e-mail:niujp08@qq.com
公众号:lzugis15
Q Q 群:452117357(webgis)
337469080(Android)
相关文章推荐
- 简单树组织数据格式化为标准树组织数据
- 简单标准格式化
- CArray使用简单介绍,如何添加标准数据类型,和自定义的类,或者自定义数据类型
- 利用XmlTextWriter类来格式化XML非常简单地达到使XML数据地可读性增强。[转]
- seajs学习日志 简单尝试模板+数据合并、模块异步加载、非标准CMD模式定义define模块
- 格式化输入输出浮点数据的细微问题(C标准:printf,scanf)
- 地理空间数据格式——OGC简单要素标准(WKT/WKB)
- 最简单的epoll的使用范例 : 监听 标准输入 ,并将数据回显到终端
- json数据格式及json校验格式化工具简单实现
- SpringMvc下生成标准Json数据的最简单方法
- 1,最简单的树 -- 标准 JSON 数据
- 【学习心得】-标准输出与简单数据类型特例列举-1
- C#.NET 大型企业信息化系统集成快速开发平台 4.2 版本 - 面向全国标准省市县行政数据基础之上的组织机构管理
- [引]SQLServer和Access、Excel数据传输简单总结
- 用Nhibernate怎么实现数据的添加、删除、修改简单程序
- 转载IBM dw——Faces Portlet 开发框架中数据的组织与处理
- DataTable用中使用Compute 实现简单的DataTable数据的统计.....
- 演练:Windows 窗体中的简单数据访问,已做!
- SQLServer和Access、Excel数据传输简单总结
- {技术.SQL.ACCESS.EXCEL.FOXPRO} SQLServer和Access、Excel数据传输简单总结