- 浏览: 174003 次
- 性别:
- 来自: 郑州
文章分类
- 全部博客 (90)
- web前端 (23)
- java (30)
- 其它 (7)
- jbpm4.4 (1)
- 服务器 (2)
- 数据库 (11)
- J2se (1)
- 812202 (0)
- access sql (1)
- 数据库管理工具 (1)
- smartupload (1)
- win7 控制台窗口已停止工作 (1)
- xfire spring web service (1)
- 免安装版本 tomcat 后台启动 设置 (1)
- js 处理日期类型 (1)
- input 自动填充 (1)
- android 连接webservice (2)
- tomcat 直接通过IP访问web项目 (1)
- svn 修改历史日志 (1)
- java 设计模式之适配器 (1)
- android 程序日志记录 (3)
- Win7 电脑突然USB无法识别 方法记录 (1)
- java 实现图片缩略 (1)
- android 更多,刷新 (3)
- access 导入mysql (1)
- java 加密,解密 (0)
- 闪回数据 (1)
- extjs 弹出进度条 (1)
- JSP 绝对路径显示服务器非webapps下的图片或资源 (0)
- html 制作彩信未完 (1)
- android 2.2 api (1)
- java 反射 (1)
- jquery 购物车 (1)
最新评论
-
masuweng:
oracle 迁移 sqlite -
nanjiwubing123:
你好 ,在IE6环境下运行demo,出现dhtmlXTreeO ...
dhtmlxtree 右键菜单的增加,删除,修改 -
李_俊:
呃,那么复杂,果断无视,找一个简单的。
java 源码混淆器 -
shanshan518:
兼容性不好,还有没有精确到秒,楼主
精确到秒的js日期时间选择器 -
mynamelzk:
日期时间选择器非常好用,谢谢你了
日期选择器,中文
转
package test;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
import com.baihe.entity.Node;
public class bd {
List nodeList =new ArrayList();
bd(){//构造方法里初始化模拟List
Node node1 = new Node("01","0");
Node node2 = new Node("0102","01");
Node node3 = new Node("0103","01");
Node node4 = new Node("010201","0102");
Node node5 = new Node("010202","0102");
nodeList.add(node1);
nodeList.add(node2);
nodeList.add(node3);
nodeList.add(node4);
//nodeList.add(node5);
}
StringBuffer returnStr=new StringBuffer();
public void recursionFn(List list , Node node){
if(hasChild(list,node)){
returnStr.append("{id:");
returnStr.append(node.getId());
returnStr.append(",parentId:");
returnStr.append(node.getParentId());
returnStr.append(",children:[");
List childList = getChildList(list,node);
Iterator it = childList.iterator();
while(it.hasNext()){
Node n = (Node)it.next();
recursionFn(list,n);
}
returnStr.append("]},");
}else{
returnStr.append("{id:");
returnStr.append(node.getId());
returnStr.append(",parentId:");
returnStr.append(node.getParentId());
returnStr.append(",leaf:true},");
}
}
public boolean hasChild(List list, Node node){ //判断是否有子节点
return getChildList(list,node).size()>0?true:false;
}
public List getChildList(List list , Node node){ //得到子节点列表
List li = new ArrayList();
Iterator it = list.iterator();
while(it.hasNext()){
Node n = (Node)it.next();
if(n.getParentId().endsWith(node.getId())){
li.add(n);
}
}
return li;
}
public String modifyStr(String returnStr){//修饰一下才能满足Extjs的Json格式
return ("["+returnStr+"]").replaceAll(",]", "]");
}
public static void main(String[] args) {
bd r = new bd();
r.recursionFn(r.nodeList, new Node("01","0"));
System.out.println(r.modifyStr(r.returnStr.toString()));
}
}
package test;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
import com.baihe.entity.Node;
public class bd {
List nodeList =new ArrayList();
bd(){//构造方法里初始化模拟List
Node node1 = new Node("01","0");
Node node2 = new Node("0102","01");
Node node3 = new Node("0103","01");
Node node4 = new Node("010201","0102");
Node node5 = new Node("010202","0102");
nodeList.add(node1);
nodeList.add(node2);
nodeList.add(node3);
nodeList.add(node4);
//nodeList.add(node5);
}
StringBuffer returnStr=new StringBuffer();
public void recursionFn(List list , Node node){
if(hasChild(list,node)){
returnStr.append("{id:");
returnStr.append(node.getId());
returnStr.append(",parentId:");
returnStr.append(node.getParentId());
returnStr.append(",children:[");
List childList = getChildList(list,node);
Iterator it = childList.iterator();
while(it.hasNext()){
Node n = (Node)it.next();
recursionFn(list,n);
}
returnStr.append("]},");
}else{
returnStr.append("{id:");
returnStr.append(node.getId());
returnStr.append(",parentId:");
returnStr.append(node.getParentId());
returnStr.append(",leaf:true},");
}
}
public boolean hasChild(List list, Node node){ //判断是否有子节点
return getChildList(list,node).size()>0?true:false;
}
public List getChildList(List list , Node node){ //得到子节点列表
List li = new ArrayList();
Iterator it = list.iterator();
while(it.hasNext()){
Node n = (Node)it.next();
if(n.getParentId().endsWith(node.getId())){
li.add(n);
}
}
return li;
}
public String modifyStr(String returnStr){//修饰一下才能满足Extjs的Json格式
return ("["+returnStr+"]").replaceAll(",]", "]");
}
public static void main(String[] args) {
bd r = new bd();
r.recursionFn(r.nodeList, new Node("01","0"));
System.out.println(r.modifyStr(r.returnStr.toString()));
}
}
发表评论
-
html 制作彩信未完
2012-07-04 19:39 1215<!DOCTYPE html PUBLIC ... -
extjs 弹出进度条
2012-04-27 15:00 1798来个图片 <!-- 页面加载时弹出一个进度条,10秒后 ... -
android 更多,刷新
2012-03-09 09:44 1009转载http://06peng.com/read.php/55 ... -
svn 修改历史日志
2012-02-20 11:29 1475转载:http://hi.baidu.com/tsd3698/ ... -
tomcat 直接通过IP访问web项目
2012-02-19 12:28 48011:在开发时访问web项目是这样的http://localho ... -
android 连接webservice
2012-02-17 09:49 11601,jar 2: String namespace=&q ... -
input 自动填充
2011-12-18 15:04 1699<!DOCTYPE html PUBLIC " ... -
smartupload
2011-10-18 09:20 1362转载 上传下载组件SmartUpload使用方法 本篇将讲 ... -
dsfdsfdsf
2011-05-02 18:10 914d -
常用JS 方法
2011-04-22 17:26 1110/** *等待的提示 1-显示 0-不显示 * ... -
精确到秒的js日期时间选择器
2011-04-12 08:44 8363图片 <script type=&quo ... -
web 图片放大镜
2011-04-11 11:28 868web 图片放大镜 -
打印图片
2011-04-09 10:12 917<!DOCTYPE HTML PUBLIC " ... -
JS 复制指定的页面中图片
2011-04-09 10:11 1557<!DOCTYPE HTML PUBLIC " ... -
extjs treepanel 右键菜单实现
2011-04-08 18:16 5250效果图:1: 2: 3: 1:html页面 < ... -
vb6.0 做的ocx 安全接口
2011-02-11 10:50 1914我在做这个OC X时遇到的问题给大家共享一下, 首先共同的我 ... -
svn2
2011-01-04 13:31 1204安装独立服务器 SVNServer ... -
dwr 使用
2010-12-19 14:33 826转载 http://returnofking.iteye.co ... -
dtrees配置
2010-10-14 17:04 819转http://www.itstudy.cn/www/arti ... -
javascript xml为数据源的下拉框
2010-10-10 09:17 979页面代码: <html> <head&g ...
相关推荐
1. 构建 JSON 数据源:树形控件需要将数据库中的层次数据转换成 JSON 格式的字符串,以便在客户端动态生成树形结构。 2. Ext JS 框架:这是一种富客户端开发框架,其 TreePanel 组件常用于实现树形视图,支持 ...
在IT行业中,数据的组织和...总之,将扁平化的数据转换成树形结构是JavaScript开发中的常见任务,尤其在处理JSON数据时。通过理解数据结构和递归算法,我们可以有效地完成这个转换,从而更好地管理和操作层次化数据。
总之,通过合理的设计和算法,可以将数据库中的无限级层次数据转换为适配JavaScript树形控件的JSON数据源,实现无限级树形菜单的展示。这种方法不仅适用于Ext JS,也可以应用于其他支持JSON数据的JS树形控件。解决这...
在描述中提到的树形结构,JSON数据就是数据源,它的键值对关系对应着树的节点和子节点。 CSS(Cascading Style Sheets)则是用于描述HTML或XML(包括SVG、MathML等各种XML方言)文档样式的样式表语言。在树形结构的...
最后,前端JavaScript代码会通过Ajax请求从服务器获取到这个转换后的JSON数据,然后使用jsTree的API将其渲染成可视化的树形结构: ```javascript $("#mytree").jstree({ data: { type: "json", url: "${ctx}/...
EXT框架,作为一个强大的前端组件库,提供了丰富的UI控件,其中包括树形组件(EXT树),它能够根据JSON数据生成交互式的树状结构。 EXT树是EXT JS库中的一个组件,用于展示层级关系的数据,比如目录结构、组织架构...
**jQuery ComboTree 树结构绑定与JSON数据源详解** 在Web开发中,为了提供用户友好的界面和交互体验,我们经常需要使用各种UI组件。jQuery ComboTree是一款流行的jQuery插件,它结合了下拉列表和树形视图的优点,...
**jsTree:构建前端树形结构的利器** jsTree 是一个强大的 JavaScript 库,专用于在 Web 页面上创建交互式的树形结构。它基于纯 JavaScript 编写,无需依赖其他库,因此对于初学者和有经验的开发者来说,都是一个...
在Ajax树形结构中,Servlet可能扮演着处理数据请求和返回JSON或XML格式数据的角色。当用户点击树形结构的某个节点时,Servlet会接收并处理这个请求,然后返回该节点的子节点信息。 **三、AJAX** AJAX允许在不刷新...
这个“xtree”项目显然是一个具有添加和修改功能的树形结构实现,可能是为了在网页上展示和操作层次化的数据。 首先,我们来了解一下树形结构的基础知识。树形结构是由节点(或称为元素)和边(或连接线)组成的...
.
为了运行这个示例,你需要将`url`设置为你自己的JSON数据源,或者使用压缩包中的本地JSON数据文件进行测试。 总的来说,这个示例展示了如何结合Ajax、jQuery和ZTree插件,从服务器获取嵌套的JSON数据,并将其转化为...
在提供的`TestTreeWebService`文件中,可能包含了服务器接口或者示例数据,用于获取树形结构的JSON数据。你可以使用`NSURLSession`或`Alamofire`等网络库来请求数据,然后解析成`TreeItem`对象,填充到模型中。 ...
在ExtJs中,树形结构(Tree)是一种数据展示方式,常用于呈现层次化的数据,比如文件系统、组织架构等。本文将深入探讨如何在ExtJs中应用树形结构,并通过实例演示其基本用法。 1. **树形结构的基本概念** 树形...
4. 数据绑定:可以方便地与后端数据源(如 JSON、AJAX)进行绑定,动态加载或更新树形结构。 5. 多级节点:支持无限级别的子节点,构建复杂的层级结构。 6. 事件处理:提供了丰富的事件接口,如节点点击、展开、折叠...
本文将深入探讨“jQuery树形结构”,这是一个利用jQuery实现的用于展示层次化数据的用户界面元素。 首先,jQuery树形结构通常通过第三方插件实现,例如Dynatree。 Dynatree是一款功能强大的jQuery插件,它提供了...
4. **数据源**: 插件可以接受JSON格式的数据源,每个节点包含ID、文本、是否选中、子节点数组等信息,方便从服务器获取数据后构建树形结构。 ### 使用方法 1. **引入依赖**: 首先需要引入jQuery库,然后引入`...
在JavaScript编程中,树形结构是一种非常常见的数据结构,它以层次化的方式组织数据,类似于自然界中的树。这种数据结构由节点(或称为元素)组成,每个节点都可以有零个或多个子节点,且有一个或者没有父节点。在...
在压缩包文件"**d300**"中,可能包含了实现这一通用树形结构的源代码,包括JavaScript文件(可能包含自定义的树形组件实现)和CSS文件(用于定制样式)。具体代码实现细节需查看文件内容以获取更多信息。 总的来说...
ExtJS 的树形结构更加灵活,支持多种数据源,包括 JSON、XML 以及远程数据。`TreePanel` 提供了丰富的配置项和事件处理,可以实现复杂的交互行为。动态加载节点通常通过 `store` 的 `load` 方法或者配置 `proxy` 来...