- 浏览: 308059 次
- 性别:
- 来自: 成都
文章分类
- 全部博客 (118)
- VS2008 (2)
- JAVA (34)
- AJAX (1)
- C# (1)
- Flex (16)
- FMS (6)
- SQLSERVER (1)
- ORACLE (1)
- Quartz (1)
- struts2 (1)
- java数据结构 (1)
- java设计模式 (3)
- JSF (0)
- web (2)
- jbpm4 (4)
- J2EE (1)
- webservice (2)
- javascript (8)
- spring (3)
- lucene (0)
- linux (9)
- ibatis (1)
- JPA (2)
- 外挂 (0)
- VB (0)
- Hibernate (1)
- OSGI (8)
- EXT (4)
- Maven (1)
- SpringSecurity (0)
- activiti (0)
- 项目开发 (0)
- 项目管理 (7)
- android (0)
- FFMPEG (1)
- C (2)
- eclipse (1)
最新评论
-
默默得守候在你的身边:
给力
java与Delphi写的dll交互 -
默默得守候在你的身边:
java与Delphi写的dll交互 -
fuguitong:
[url][url][url][url][url][url][ ...
doc转swf -
baidu_25402161:
到结束的时候一直 Can't delete processIn ...
一个请假单流程的实现(struts2.1.8+spring2.5+hibernate3集成jbpm4.3) -
lohaoo1:
nice!
java面包屑导航制作
修改了xloadtree的部分源码以适合自己使用。
1.修改了因节点个数过多而造成刷新时候的缓慢。(你可以用原版试试加上500个子节点,然后调用reload()方法)。
2.加入了单选和复选的功能。
3.加入了线程,在500个子节点以上才会启用。引用Thread.js,设置webFXTreeConfig.useThread=true.
4.增加了data属性,使得每个节点都可以绑定自己想绑定的数据上去。
确定线程不能保证节点的顺序,如果对顺序有要求,那就不适用了。
该例子实现了对一颗树的增删改查。
因为是延迟加载,所以在每个父节点的子节点1000以内都是比较快的。
看哈效果图:
项目jar包:
看哈部分代码treeRadio.js:
webFXTreeConfig.rootIcon = "xloadtree/images/xp/folder.png"; webFXTreeConfig.openRootIcon = "xloadtree/images/xp/openfolder.png"; webFXTreeConfig.folderIcon = "xloadtree/images/xp/folder.png"; webFXTreeConfig.openFolderIcon = "xloadtree/images/xp/openfolder.png"; webFXTreeConfig.fileIcon = "xloadtree/images/xp/file.png"; webFXTreeConfig.lMinusIcon = "xloadtree/images/xp/Lminus.png"; webFXTreeConfig.lPlusIcon = "xloadtree/images/xp/Lplus.png"; webFXTreeConfig.tMinusIcon = "xloadtree/images/xp/Tminus.png"; webFXTreeConfig.tPlusIcon = "xloadtree/images/xp/Tplus.png"; webFXTreeConfig.iIcon = "xloadtree/images/xp/I.png"; webFXTreeConfig.lIcon = "xloadtree/images/xp/L.png"; webFXTreeConfig.tIcon = "xloadtree/images/xp/T.png"; webFXTreeConfig.blankIcon = "xloadtree/images/blank.png"; webFXTreeConfig.type = "radio"; //checkbox or radio var prjPath = '/xloadtreeDemo'; var actionSuffix = '.action'; var namespace = '/Controller'; var loadRootNodeAction = 'loadRootNode_XloadTree'; var initAction = 'init_XloadTree'; var addNodeAction = 'addNode_XloadTree'; var saveOrUpdateRootNodeAction = 'saveOrUpdateRootNode_XloadTree'; var deleteNodeAction = 'deleteNode_XloadTree'; var loadChildNodeAction = 'loadChildNode_XloadTree'; var updateNodeAction = 'updateNode_XloadTree'; var loadTreeUrl = prjPath + namespace+'/' + loadRootNodeAction + actionSuffix; var loadChildNodeUrl = prjPath + namespace+'/' + loadChildNodeAction + actionSuffix; var initTreeUrl = prjPath + namespace+'/' + initAction + actionSuffix; var addNodeUrl = prjPath + namespace+'/' + addNodeAction + actionSuffix; var saveOrUpdateRootNodeUrl = prjPath + namespace+'/' + saveOrUpdateRootNodeAction + actionSuffix; var deleteNodeUrl = prjPath + namespace+'/' + deleteNodeAction + actionSuffix; var updateNodeUrl = prjPath + namespace+'/' + updateNodeAction + actionSuffix; var tree; $(function(){ loadTree(); }); //加载根节点 function loadTree(){ $.ajax({ url:loadTreeUrl, dataType:'json', success:function(rootNode){ var id = rootNode.id; if(id != '0'){ updateTree(rootNode); }else{ $('#rootId').html('null'); $('#rootPid').html('null'); } } }); } //获取根节点的子节点集合 function updateTree(rootNode){ $('#rootText').val(rootNode.text); $('#rootAction').val(rootNode.action); $('#rootId').html(rootNode.id); $('#rootPid').html('null'); tree = new WebFXLoadTree(rootNode.text,initTreeUrl,rootNode.action); tree.data = rootNode; $('#radioDiv').html(tree.toString()); } //点击单选按钮的回调事件 function setRadioData(data){ if(typeof(data) == 'string'){ data = jQuery.parseJSON(data); } $('#pid').val(data.id); } //添加新节点 function addNode(){ var selectNode = tree.selectNode; if(selectNode==null){ alert('选中一个节点进行新增操作!'); return; } var treeNode = new Object(); treeNode.text = $("#text").val(); treeNode.action = $("#action").val(); treeNode.pid = $("#pid").val(); if(treeNode.text==''){ alert('text必须填写!'); return; } $.ajax({ type:'POST', url:addNodeUrl, data:treeNode, dataType:'json', success:function(newNode){ //直接添加即可 selectNode.add(new WebFXTreeItem({ text:newNode.text, action:newNode.action, data:newNode })); selectNode.src = newNode.src; selectNode.expand(); //清空内容 $("#text").val(''); $("#action").val(''); } }); } //保存根节点信息 function saveOrUpdateRootNode(){ var treeNode = new Object(); treeNode.text = $("#rootText").val(); treeNode.action = $("#rootAction").val(); treeNode.id = $("#rootId").html(); if(treeNode.text==''){ alert('text不能为空'); $("#rootText").focus(); return; } if(treeNode.id == 'null')treeNode.id = -1; $.ajax({ type:'POST', url:saveOrUpdateRootNodeUrl, data:treeNode, dataType:'json', success:function(rootNode){ $("#"+tree.id+"-anchor").html(rootNode.text); } }); } //刷新选中节点的子节点信息 function flushNode(){ var selectNode = tree.selectNode; if(selectNode==null){ alert('选中一个节点进行刷新操作!'); return; } if(selectNode.childNodes.length!=0){ if(selectNode.reload){ selectNode.reload(); }else{ var parentNode = selectNode.parentNode; var index = selectNode.index; if(parentNode){ parentNode.reload(); } } } } //删除节点 function delNode(){ var selectNode = tree.selectNode; if(selectNode==null){ alert('选中一个节点进行删除操作!'); return; } var data = selectNode.data; if(typeof(data) == 'string'){ data = jQuery.parseJSON(data); } $.ajax({ type:'POST', url:deleteNodeUrl, data:{id:data.id}, success:function(result){ if(Number(result)!=0){ selectNode.remove(); tree.selectNode = null; } } }); } //编辑节点信息 function editNode(){ var selectNode = tree.selectNode; if(selectNode==null){ alert('选中一个节点进行编辑操作!'); return; } var data = selectNode.data; if(typeof(data) == 'string'){ data = jQuery.parseJSON(data); } var treeNode = new Object(); treeNode.text = $("#text").val(); treeNode.action = $("#action").val(); treeNode.id = data.id; if(treeNode.text==''){ alert('text不能为空'); $("#text").focus(); return; } $.ajax({ type:'POST', url:updateNodeUrl, data:treeNode, dataType:'json', success:function(updateNode){ $("#"+selectNode.id+"-anchor").html(updateNode.text); $("#"+selectNode.id+"-anchor").attr('href',updateNode.action); selectNode.data = updateNode; } }); }
xloadtreeDemo.rar 附带mysql脚本数据。
发表评论
-
OSGI学习
2012-03-18 18:01 0http://www.blogjava.net/zhenyu3 ... -
OSGI学习笔记(七)
2012-03-17 23:58 1696SpringDM初步使用(二) 介绍哈官方的第二个例子 ... -
ubuntu10.04下nexus和maven的安装及配置
2012-03-14 16:14 2510前提要有jdk环境,官方下载nexus和maven,解压后创建 ... -
ubuntu10.04下eclipse的安装及配置
2012-03-14 00:01 1307从官方http://www.eclipse.org/downl ... -
Ubuntu10.04下配置java环境变量
2012-03-13 23:28 1066Ubuntu10.04默认安装了OpenJDK,但还是基于Su ... -
eclipse设置保护色
2012-03-16 09:22 9414eclipse操作界面默认颜色为白色。对于我们长期使 ... -
OSGI学习笔记(六)
2012-03-17 15:08 2754SpringDM初步使用(一) 官方地址http:// ... -
OSGI学习笔记(八)
2012-03-19 21:08 2301SpringDM初步使用(三) spring第三个例子 ... -
OSGI学习笔记(五)
2011-07-31 10:32 1587开放服务网关协议 (Open Services Gateway ... -
osgi学习笔记(三)
2011-07-16 22:43 1961OSGI实战书上讲了一个web登陆验证切换功能。表达了osgi ... -
word工具类
2011-03-15 09:19 1445package org.foreverframework ... -
命令模式--撤销恢复
2011-03-14 22:32 4986该例子来自阎宏提供的 ... -
java zip
2011-03-06 15:32 1216import java.io.BufferedInputStr ... -
doc转swf
2010-12-07 22:03 8540将doc转换成swf,然后显示在html页面上。 packa ... -
javamail简单使用
2010-11-15 08:29 2350MailInfo类: //发送邮件的信息类 public ... -
java与Delphi写的dll交互
2010-09-05 22:27 6163有时候在项目开发的时候难免会和硬件提供的开发包接触,这些开发接 ... -
JAVA与DLL交互
2010-08-27 23:32 1946jna官网地址:https://jna.dev.java.ne ... -
office工具类
2010-07-31 14:17 2311将jcom.dll放入jdk的bin目录下,将jcom.jar ... -
启动多个tomcat
2010-04-22 09:13 1216想启动多个tomcat,只需修改conf/server.xml ... -
dos 删除指定日期前的文件
2010-04-19 22:47 3462@echo off&setlocal enablede ...
相关推荐
首先,"xloadtree"是一个基于Web的树形菜单组件。它允许开发者在网页上创建可操作的树结构,用于展示层次化的数据,如文件系统、组织结构或者导航菜单等。这种组件通常由JavaScript实现,能够动态地加载数据,提高...
`xloadtree`是一个专门用于实现动态Ajax树视图的工具,它能够帮助开发者高效地展示层级结构的数据,比如组织架构、文件系统或者复杂的分类信息。在这个例子中,我们将深入探讨`xloadtree`的工作原理以及如何使用它来...
"修改xloadtree支持checkbox radio鼠标右键菜单"这个主题涉及到的是对一个特定的JavaScript组件——xLoadTree的增强,使其具备更多功能,提升用户体验。下面将详细阐述这个主题所涵盖的知识点。 1. **xLoadTree**:...
文件名"perfectTree"可能是指该实现的一个示例代码库或演示文件,包含了创建和操作这种带单选和复选按钮的树结构所需的所有代码和资源。通过分析和学习这个文件,开发者可以了解到如何在自己的项目中集成这种功能,...
本文将深入探讨XLoadTree API中的一个重要更新——增加的重载刷新节点功能,它允许开发者在不刷新整个树的情况下,仅刷新指定的结点,从而提高了应用的性能和用户体验。 首先,理解XLoadTree的基础概念是至关重要的...
xloadtree是一个针对这种数据结构的实现,它提供了一种简单且直观的方式来创建、操作和展示树型数据。本文将深入探讨xloadtree的实现原理、使用方法及其在实际应用中的价值。 首先,xloadtree的核心是树节点的概念...
原理:初始化状态查询出根节点和第一级节点,并且第一级节点的图标是 + ,点击 + 出现loading...,然后再显示出节点下的子级,如果没有子级,则 + 变成 - ;将加载完后出现的子级菜单用JS保存在客户端,下载再点 + ...
而"xloadtree" 可能是一个JavaScript文件,包含了xloadtree库的源码或者一个使用示例。 总之,JS动态树和WebFXLoadTree是JavaScript开发中用于构建高效、可交互的异步加载树形结构的工具,它们通过异步加载策略优化...
"xloadtree"是这种动态树实现的一个实例,专门用于解决大数据量树生成的问题。 动态树的核心思想是分页和懒加载。在用户滚动到树的底部或者点击展开某个节点时,才向服务器请求下一部分数据。这种方式避免了初始...
【xloadtree中文版】是一款基于JavaScript开发的动态树形数据展示组件,主要适用于Web应用程序中需要呈现层次结构数据的情况。这款组件以其易用性、灵活性和强大的功能在IT行业中得到了广泛应用。它允许开发者轻松地...
XLoadTree是一个基于Java、XML、JSP和Ajax技术构建的组件,主要用于在Web应用程序中实现动态加载和展示树形结构数据。它巧妙地结合了这些技术,提供了高效、交互性强的用户界面,尤其适用于数据层次结构复杂的应用...
这个资源包的核心组件是"xloadtree.js",它是一个轻量级但功能强大的库,用于在网页中动态加载和呈现层级数据。 首先,我们来看看"XLoadTree.js"。这是一个JavaScript库,它的主要功能是创建和管理Web页面上的目录...
xloadtree使用总结xloadtree使用总结xloadtree使用总结xloadtree使用总结xloadtree使用总结xloadtree使用总结xloadtree使用总结xloadtree使用总结
本主题聚焦于"XLoadTree",它是一个专门用于解析和显示XML树结构的Java工具,适用于处理和比较XML文档。 首先,"XLoadTree"这个名字暗示了它是一个加载XML并将其呈现为树状结构的库或工具。在"Java XML"领域,这样...
`xloadtree.js` 是一个专为实现这种页面树形结构而设计的JavaScript库,它结合了`xtree.js`和`xtree.css`等组件,提供了强大的功能和良好的用户体验。下面将详细介绍`xloadtree.js`及其相关组件的工作原理和应用场景...
“xloadtree”可能是一个JavaScript库或插件,专门用于创建和管理这样的交互式树视图。这种库通常会提供一系列的功能,如节点的添加、删除、展开、折叠、搜索以及自定义节点样式等。在JavaScript中实现这样的功能,...
这是一个用XLoadTree 例子,这个例子作了很久了,很多人加我,所以我把源码找出来放到这里,希望对大家有所帮助。原文: http://collate5.blog.163.com/blog/static/1435652620076279591866