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 目前,就官网的文 ...
随机推荐
- PAT 1091. Acute Stroke (bfs)
One important factor to identify acute stroke (急性脑卒中) is the volume of the stroke core. Given the re ...
- [JZOJ4687]奇袭
[JZOJ4687]奇袭 题目 由于各种原因,桐人现在被困在Under World(以下简称UW)中,而UW马上要迎来最终的压力测试——魔界入侵. 唯一一个神一般存在的Administrator被消灭 ...
- 对SHH的公钥和私钥的简单理解
SSH是在应用层和传输层基础上的安全协议 SSH提供了两种级别的安全验证: 第一基于密码的安全验证:账号.密码,但可能有别的服务器冒充真正的服务器,无法避免被“中间人”攻击(man-in-the-mi ...
- [bzoj2226][Spoj5971]LCMSum_欧拉函数_线性筛
LCMSum bzoj-2226 Spoj-5971 题目大意:求$\sum\limits_{i=1}^nlcm(i,n)$ 注释:$1\le n\le 10^6$,$1\le cases \le 3 ...
- window7 查找与杀掉占用端口的进程
1.netstat -ano | findstr 3000 2.tasklist | findstr pid 3. taskkill -f -t -im 进程名
- 固定一个div在浏览器底部
转自原文 如何固定一个div在浏览器底部 方法1:使用CSS绝对定位 div{ position:absolute; bottom:0px; left:0px; } 方法2:使用CSS固定定位 d ...
- 机器学习4logistic回归
对于线性回归.logistic回归,在以前准备学习深度学习的时候看过一点,当时的数学基础有点薄弱,虽然现在还是有点差,当时看到神经网络之后就看不下去了. 不过这次是通过python对logistic回 ...
- 切换div位置
通过数组来存放div的属性以及属性值,鼠标点击的时候,切换数组中的元素,然后赋值给div <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Tr ...
- Java8新特性之Optional
空指针异常一直是困扰Java程序员的问题,也是我们必须要考虑的.当业务代码中充满了if else判断null 的时候程序变得不再优雅,在Java8中提供了Optional类为我们解决NullPoint ...
- Java项目打包发布
Java项目打包发布 如果只想发布为一个可执行的jar包,使用eclipse的Export功能就可以了 使用eclipse的Export功能,将项目中的所有package打包为一个pet.jar文件, ...