dhtmlxtree动态加载节点数据的小随笔
最近做了一个这个东西,颇有些感触,随笔记录一下自己的过程。
首先特别感谢:https://blog.csdn.net/cfl20121314/article/details/46852591,对我的帮助还是挺大的,虽然代码我运行不起来,但是报错信息让我少走了一些弯路。
需求:本地静态xml文件,一次性加载速度太慢,需要优化性能。(树结构数据都是本地静态文件,不涉及到数据库操作)
遇到这个问题首先先是百度,去研究一下dhtmlxtree 中文api文档,百度很久,基本结果都是很简单的说明文字,可以说基本都是一个方法名称,其余全靠猜,个人英文不好,难啊。
第一步就难住了,设置tree动态加载,这个该怎么设置?通过api得知,tree.setXMLAutoLoading(filepath),但是其中的路径难住了,这看到几种例子
1.直接是一个xml路径
2.是一个后台请求路径(java的,webapi的,mvc的等等语法写法)
对于我来说,我需要单击某一个父节点,加载所有子节点,所以这里肯定不能是一个静态xml文件路径,所以目光只能是第二种,所以很自然写了个后台方法(开始测试。后续再说。)
事情还是要继续进行下去,于是有了以下几种尝试:
1.将原本的一个xml文件,改为两个xml,其中一个只保留所有的一级父节点结构数据,另一个xml文件则保留所有数据,目的是想初始化加载父节点xml,其次通过单击父节点,去第二个xml文件查所有的子节点
这种想法很自然,但是操作过程颇为心酸。
1)加载父节点xml很顺利,那怎么加载子节点?通过后端读取完整xml文件再去查询某一个id的子节点数据。
2)直接将完整的xml文件进行拆分,拆分为一个个单独的子节点xml文件
图方便选择了第二种,因为都是纯静态xml操作。拆分完毕。
犹由于我的项目是wcf架构,所以mvc的写法是:return XmlResult无法使用,设置resopnse type无法使用,java的看不懂基本也是设置返回值的type
尝试:
1.直接返回stream,果然提示load xml error
2.将流序列化,也属于胡乱尝试,卒+1
3.无果开始研究wcf如何返回xml数据,找到一个xmldocument,无果
4.继续找,发现一个xmlelement 找到答案。http://www.it1352.com/449260.html,最终搞定问题。
写的比较乱,记录一下自己从发现问题,到开始解决问题,到一筹莫展,到最终解决的一个过程。
百度的东西有很多和自己的应用场景不一致,比如百度的基本要么都是从后端加载,要么就是全部一次性加载,有的虽然说是异步,但是实际却不是。总的来说鱼龙混杂的信息太多。
还是要学会分析,找出自己需要的。
dhtmlxtree动态加载节点数据的小随笔的更多相关文章
- ligerui_ligerTree_007_ligerTree动态加载节点
ligerui:ligerTree:动态加载节点: 源码地址:http://download.csdn.net/detail/poiuy1991719/8571255 效果图: 代码:json.txt ...
- ztree插件的使用及列表项拖拽的实现(jQuery)+异步加载节点数据
为了实现如图所示的树状结构图,并使列表项可拖动到盒子里,研究了ztree这个插件的使用,并仔细研究了列表项的拖动事件.完成了预期需求,对jQuery的运用得到了提高.这个插件的功能非常强大,除了基本的 ...
- geotrellis使用(二十三)动态加载时间序列数据
目录 前言 实现方法 总结 一.前言 今天要介绍的绝对是华丽的干货.比如我们从互联网上下载到了一系列(每天或者月平均等)的MODIS数据,我们怎么能够对比同一区域不同时间的数据情况,采用 ...
- Echarts使用及动态加载图表数据
Echarts使用及动态加载图表数据 官网:http://echarts.baidu.com/ 1.文档 2.实例 名词: 1.统计维度(说明数据) 维度就是统计致力于建立一个基于多方位统计(时间.地 ...
- 使用jsTree动态加载节点
因为项目的需要,需要做一个树状菜单,并且节点是动态加载的,也就是只要点击父节点,就会加载该节点下的子节点. 大致的效果实现如下图: 以上的实现就是通过jsTree实现的,一个基于JQuery的树状菜单 ...
- 使用 Cesium 动态加载 GeoJSON 数据
前言 需求是这样的,我需要在地图中显示 08 年到现在的地震情况,地震都是发生在具体的时间点的,那么问题就来了,如何实现地震情况按照时间动态渲染而不是一次全部加载出来. 一. 方案分析 这里面牵扯到两 ...
- Echarts动态加载后台数据
注意:1.用Ajax请求获取后台数据 2.Echarts只能处理Json数据 后台Controller:根据业务需求不同而返回不同数据,我前台要循环遍历Echarts的series进行数据添加,所以后 ...
- python获取动态网站上面的动态加载的数据(初级)
我们在处理一些网站数据的时候,有时候我们需要的数据很多都是动态加载的,而不都是静态的,以下以一个实例来介绍简单的获取动态数据,首先申明本人小白,还在学习python中,这个方法还是比较笨拙的,但是对于 ...
- Echarts使用及动态加载图表数据 折线图X轴数据动态加载
Echarts简介 echarts,缩写来自Enterprise Charts,商业级数据图表,一个纯JavaScript的图表库,来自百度...我想应该够简洁了 使用Echarts 目前,就官网的文 ...
随机推荐
- linux中的umask命令
转载:http://blog.51cto.com/1123697506/882064 一 权限掩码umask umask是chmod配套的,总共为4位(gid/uid,属主,组权,其它用户的权限),不 ...
- Python3 编写登陆接口
题目选自 Alex Python自动化开发之路的题目,我是从C++转学Python的,编写的水平有限,轻喷. 输入用户名密码 认证成功后显示欢迎信息 输错三次后锁定 首先应该有2个txt文件,包含用户 ...
- springCloud学习-服务的注册与发现(Eureka)
1.小记 这段时间有空,把springcloud的知识整理一下,好记性不如烂笔头,也让自己对springcloud有个清晰的认识.此次的整理记录主要借鉴了这位大佬的博客 https://blog.cs ...
- P1294 高手去散步 洛谷
https://www.luogu.org/problem/show?pid=1294#sub 题目背景 高手最近谈恋爱了.不过是单相思.“即使是单相思,也是完整的爱情”,高手从未放弃对它的追求.今天 ...
- POJ题目1947 Rebuilding Roads(树形dp)
Rebuilding Roads Time Limit: 1000MS Memory Limit: 30000K Total Submissions: 9957 Accepted: 4537 ...
- Android---keycode值以及相应名称
KEYCODE列表 电话键 键名 描写叙述 键值 KEYCODE_CALL 拨号键 5 KEYCODE_ENDCALL 挂机键 6 KEYCODE_HOME 按键Home 3 KEYCODE_ME ...
- IOS的一个关于球碰撞的小游戏
这个游戏是关于一个球随机在屏幕上移动,能够用手指来操纵令一个球,假设两个球碰撞到一起,就表示输了,很easy的一个游戏 在StoryBoard里定义两个UIImageView和一个startbutto ...
- jQuery总结03
1 控制网页元素属性和样式的 jQuery 方法有哪些? 2 利用 jQuery 插入网页节点的方法有哪些? 3 jQuery 中绑定事件是什么,如何解除绑定? 4 jQuery 中的动画效果包括哪些 ...
- C# openfiledialog对文本框的操作//C#中OpenFileDialog的使用
在WebForm中提供了FileUpload控件来供我们选择本地文件,只要我们将该控件拖到页面上了,就已经有了选择本地文件的功能了.而在WinForm中,并没有为我们提供集成该功能的控件,但为我们提供 ...
- Angularjs+Bootstrap实现分页指令
本插件的开发目的主要给前端同学使用,本人是专注于后台开发的,对css样式不熟悉,但逼于前端要求做一个共公组件方便日常开发,所以这个插件在样式上可能不适合大部分人,喜欢的拿走吧,不喜欢的也请别喷. 一 ...