`
zhjb2000
  • 浏览: 58352 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
文章分类
社区版块
存档分类
最新评论

有树型结构的下来框

 
阅读更多

表结构是: 
classID,className,parentId ,depth,allChildId ,  ................

publicStringgetSelectTree(StringclassID)...{
Stackstack
=newStack();
StringBuffertree
=newStringBuffer("");
Listlist
=this.siteClassDao.queryRootClass();//得到根
if(list!=null&&list.size()!=0)...{
for(inti=0;i<list.size();i++)...{
stack.push(((TCmsSiteClass)list.get(i)).getClassID());
}

}

TCmsSiteClasspo
=null;
String[]children
=null;
TCmsSiteClassparent
=null;
intdep=0;
Stringspace
="&nbsp;&nbsp;";
StringBufferperSpace
=newStringBuffer("");
while(!stack.isEmpty())...{
parent
=null;
po
=this.siteClassDao.querySiteClass((String)stack.pop());
if(po.getParentId().length()==32)...{
parent
=this.siteClassDao.querySiteClass(po.getParentId());
}
else...{
dep
=0;
perSpace.delete(
0,perSpace.length());
}


if(po.getDepth().intValue()>dep)...{
dep
++;
perSpace.append(space);
}
elseif(po.getDepth().intValue()<=dep)...{

perSpace.delete(perSpace.length()
-(space.length()*(dep-po.getDepth().intValue())),perSpace.length());
if(perSpace.length()>1&&perSpace.charAt(perSpace.length()-1)!=';')...{
perSpace.deleteCharAt(perSpace.length()
-1);
}

dep
=po.getDepth().intValue();
}

tree.append(
"<option");
if(po.getClassID().equals(classID))...{
tree.append(
"selected");
}

tree.append(
"value='");
tree.append(po.getClassID());
tree.append(
"'>");

//判断此节点是不是所有兄弟节点里面的最后一个

if(parent!=null)...{
inti;
String[]brotherIDs
=StrUtils.split(parent.getAllChildId(),
'#');
for(i=0;i<brotherIDs.length-1;i++)...{
if(po.getClassID().equals(brotherIDs[i]))...{
break;
}

}

if(i==0)...{//是所有兄弟节点里面的最后一个
tree.append(perSpace);
tree.append(
"└&nbsp;");
}
else...{
tree.append(perSpace);
tree.append(
"├&nbsp;");//不是所有兄弟节点里面的最后一个
perSpace.append("");
}

}




tree.append(po.getClassName());
tree.append(
"</option> ");
//把所有孩子的ID加到堆栈里面去
if(po.getAllChildId()!=null)...{
children
=StrUtils.split(po.getAllChildId(),'#');
for(inti=0;i<children.length-1;i++)...{
stack.push(children[i]);
}

}

}

returntree.toString();
}

分享到:
评论

相关推荐

    Access版本易语言树型框无限分级

    接下来,我们需要编写代码来遍历数据库中的分类记录,并构建树型框的节点结构。每个节点代表一个分类,子节点代表下一级分类。如果数据库中的分类记录没有明确的层级限制,那么这个过程应该是递归的,即每个节点都...

    易语言 枚举子夹及文件到树型框

    "枚举子夹及文件到树型框"是一个易语言编程项目,适用于初学者学习如何在程序中遍历文件系统并将目录结构显示在树形控件中。这个经典源码能够帮助开发者理解文件系统操作和用户界面的构建。 首先,我们要了解“枚举...

    易语言树型框取项目路径

    接下来,当用户在树型框中点击一个节点时,我们可以监听“单击”事件,通过事件处理函数来获取选中的节点。易语言提供了“当前选中项”等函数,用于获取当前用户选择的节点。然后,我们需要从选中节点中提取出项目...

    易语言树型框分解网页内容

    树型框,通常指的是在用户界面上以树状结构显示数据的控件,这种结构便于用户层次化地浏览和操作数据。而“分解网页内容”则涉及到网络爬虫或网页解析技术,通过抓取网页HTML源代码并解析,提取出关键信息。 首先,...

    在struts里的实现dtree通用树型结构

    ### 在Struts中实现DTree通用树型结构 #### 概述 在Web应用程序开发过程中,树型结构(Tree Structure)是一种非常常见的数据展示形式,它可以帮助用户更好地组织和理解复杂的数据关系。本文将详细介绍如何在...

    易语言测试源码,易语言树型框快速填充2.0

    在易语言中,树型框控件是常用的界面元素之一,它通过嵌套的节点结构来展示层级关系,常用于文件浏览、组织架构等场景。然而,对于树型框而言,高效且快速的填充大量数据是一个挑战。尤其在数据量大时,不恰当的填充...

    ADO方式填充树型框.rar

    接下来,创建Command对象并设置SQL查询语句,这可以是SELECT语句,用于获取树型框所需的层级数据。例如,如果数据结构有父ID字段,可以编写如下的查询: ```csharp string sql = "SELECT Id, ParentId, Name FROM ...

    易语言源码枚举子夹及文件到树型框.7z

    树型框(TreeBox)是一种常见的图形用户界面控件,它以树状结构显示数据,每个节点可以有子节点,非常适合用来表示层次关系。在易语言中,开发者需要使用“窗口控件”类库中的相关命令来创建和操作树型框,如“添加...

    JavaScript 树型控件源码

    - **ARIA属性**:使用ARIA属性来帮助屏幕阅读器理解树型结构。 在压缩包中的`treemenu`文件,可能是源码的主要入口文件,包含了树型控件的核心逻辑和结构。通过阅读和学习这个源码,开发者可以了解上述知识点的...

    经典的js树型菜单 javascript脚本

    树型菜单在网站导航中非常常见,它可以帮助用户组织和浏览大量的层次结构信息。通过JavaScript,我们可以实现菜单项的动态加载、点击事件处理以及状态切换(如展开或折叠)等功能。下面将详细讲解这个主题: 1. ...

    ajax动态树型目录

    这种结构使得用户能清晰地浏览大量信息,尤其适用于有层级关系的数据。 接下来,我们将探讨如何利用Ajax实现动态加载和操作树型目录: 1. **异步加载**:Ajax的核心在于异步通信,允许我们在不重新加载整个页面的...

    jQuery树型多级手风琴菜单代码

    在树型结构中,这意味着每一级菜单都可以有子菜单,并且子菜单的展开与收缩遵循手风琴效应。 在"index.html"文件中,我们通常会看到HTML结构,它是菜单的基础框架。每级菜单项通常用`&lt;li&gt;`标签表示,子菜单项则嵌套...

    动态生成组织结构树型图

    在IT行业中,动态生成组织结构树型图是一项常见的需求,特别是在企业管理系统、人力资源软件或信息展示平台中。这种功能能够直观地展现公司的架构,帮助管理者理解员工的层级关系,提高管理效率。本篇将深入探讨如何...

    易语言树型框加入分组数据源码-易语言

    在易语言编程环境中,"树型框加入分组数据源码"是一个常见的需求,它涉及到数据结构、控件操作和用户界面设计等多个方面。在易语言中,树型框(Tree List)是一种常用于显示层次结构数据的控件,它可以很好地展示...

    坏孩子无限级树型菜单_aspx开发教程.rar

    它是一种能够展示层级关系的数据结构,其中每个节点(菜单项)都可以有任意数量的子节点,形成一个可以无限扩展的树状结构。在ASP.NET中,这通常通过递归或者循环遍历数据来实现。 在实现无限级树形菜单时,数据库...

    JavaScript组件dtree轻松实现树型菜单

    除了基本的树型结构,dtree还支持图标、复选框、拖放等高级特性。例如,通过设置`icon`属性,你可以为节点指定图标;通过添加`checked`属性,可以实现节点的多选功能。 总的来说,dtree组件为开发者提供了一种简单...

    易语言取置树型框项目操作源码-易语言

    树型框是GUI控件的一种,用于表示层次化的数据结构,常见于需要展示文件目录、分类信息等场景。在易语言中,树型框不仅提供了可视化展示数据的方式,还支持复杂的用户交互,如双击节点展开子目录、右键弹出菜单等。 ...

    dhtml htc tree 动态树型菜单

    在IT领域,动态树型菜单是一种常见的用户界面元素,它允许用户以树状结构浏览和操作数据。在本例中,我们关注的是一个基于DHTML(Dynamic HTML)和HTC(HTML Component)技术实现的树型菜单,特别指出的是,这个菜单...

    大强学易之树型框与MDB数据库-易语言

    树型框是一种图形用户界面控件,常用于显示层级结构的数据,如文件系统目录、组织结构等。它由节点组成,每个节点可以有子节点,通过展开和折叠节点,用户可以方便地浏览和操作数据。在易语言中,学习如何创建、添加...

Global site tag (gtag.js) - Google Analytics