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 目前,就官网的文 ...
随机推荐
- 原来PHP对象比数组用更少的内存
一直以为php的数组更节省内存,从来没有测试过,今天因为要读取一个大配置文件作为pool.做了一次测试: 得出结论是 使用对象保存数据更好,花费的内存是数组array的1/4. 测试代码 class ...
- 【模板】最小生成树Kruskal
洛谷3366 #include<cstdio> #include<algorithm> using namespace std; ,maxm=; ,ans=; struct e ...
- 【codeforces 796C】Bank Hacking(用一些技巧来代替multiset)
[题目链接]:http://codeforces.com/contest/796/problem/C [题意] 给你n个节点,你一开始选择一个节点,然后打掉它,然后与被打掉过的节点相连的节点才能被 打 ...
- 对SHH的公钥和私钥的简单理解
SSH是在应用层和传输层基础上的安全协议 SSH提供了两种级别的安全验证: 第一基于密码的安全验证:账号.密码,但可能有别的服务器冒充真正的服务器,无法避免被“中间人”攻击(man-in-the-mi ...
- Sencha Touch中 xclass和xtype区别
1.xclass 就是 Ext.create(xclass) 和 xtype一样的性质,不一定非要是自己创建的. 2.xtype是xclass的简称. 3.使用xtype前,你要new的对象,先要re ...
- 【DEBUG】 Visual Studio 2005 DEBUG集
一. fatal error C1083: 无法打开包括文件:"stdint.h": No such file or directory stdint.h是c99标准的头文件,vc ...
- sql server使用杂记
SqlServer导出数据库 navcat for sql server中打开连接,打开数据库,右键--数据传输,常规选项卡--模式选择dbo,目标选择连接(选择你新建的库)或者文件(导出你要的sql ...
- fixed_date , 赋权技巧 ,procedure执行方式, PL/SQL注意的地方
本文讨论4个知识点, 1. fixed_date参数 2. 赋权技巧 3. procedure执行的方式 4. PL/SQL中要注意的几个地方 fixed_date参数 客户想修改oracle的 系统 ...
- jQuery Validate 使用
jQuery Validate 使用 <script src="js/b/js/jquery.validate.js"></script> <styl ...
- 【原创】TCP超时重传机制探索
TCP超时重传机制探索 作者:tll (360电商技术) 1)通信模型 TCP(Transmission Control Protocol)是一种可靠传输协议.在传输过程中当发送方(sender)向接 ...