/**
* 递归读取分销商树
*
* 1. 用加号“+”表示非叶子节点,用减号“-”表示叶子节点
* @param conn
* @param id
* @param level 控制层次的
*/
private void read(Connection conn, int id, int level) {
level++;
String sql="select * from t_client where pid=?";
PreparedStatement pstmt=null;
ResultSet rs=null;
try {
pstmt=conn.prepareStatement(sql);
pstmt.setInt(1,id );
rs=pstmt.executeQuery();
while(rs.next()){
for(int i=0;i<level-1;i++){
sbTree.append(" ");
}
if("N".equals(rs.getString("is_leaf"))){
sbTree.append("+"+rs.getString("name"))
.append("<br>");
read(conn,rs.getInt("id"),level);
}else{
sbTree.append("-"+rs.getString("name"))
.append("<br>");
}
}
} catch (SQLException e) {
e.printStackTrace();
}finally{
DB.close(rs);
DB.close(conn);
}
}
}
/**
* 递归读取分销商树
*
* 1.用加号“+”表示非叶子节点,用减号“-”表示叶子节点
* 2.加上<div>嵌套,将加号“+”,减号“-”改为图片,然后在其后面加上打开或者关闭的文件夹图片,
* @param conn
* @param id
* @param level 控制层次的
* @throws SQLException
*/
private void read(Connection conn, int id, int level) throws SQLException {
level++;
String sql="select * from t_client where pid=?";
PreparedStatement pstmt=null;
ResultSet rs=null;
try {
pstmt=conn.prepareStatement(sql);
pstmt.setInt(1,id );
rs=pstmt.executeQuery();
while(rs.next()){
sbTree.append("<div>");
for(int i=0;i<level-1;i++){
sbTree.append("<img src=\"../images/white.gif\" />");
}
if("N".equals(rs.getString("is_leaf"))){
sbTree.append("<img src=\"../images/plus.gif\"/>")
.append("<img src=\" ../images/closedfold.gif\"/>")
.append(rs.getString("name"));
//递归
sbTree.append("<div>");
read(conn,rs.getInt("id"),level);
sbTree.append("</div>");
}else{
sbTree.append("<img src=\"../images/minus.gif\"/>")
.append("<img src=\" ../images/openfold.gif\"/>")
.append(rs.getString("name"));
}
sbTree.append("</div>");
}
} finally{
DB.close(rs);
DB.close(pstmt);
}
}
/**
* 递归读取分销商树
*
* 1.用加号“+”表示非叶子节点,用减号“-”表示叶子节点
* 2.加上<div>,将加号“+”,减号“-”改为图片,然后在其后面加上打开或者关闭的文件夹图片,
* 3.在图片"+"和"-"上添加鼠标事件,使树能实现收缩和关闭同时图片也做改变;在图片"打开的文件夹"和"关闭的文件夹"上添加鼠标事件;
*
* @param conn
* @param id
* @param level 控制层次的
* @throws SQLException
*/
private void read(Connection conn, int id, int level) throws SQLException {
level++;
String sql="select * from t_client where pid=?";
PreparedStatement pstmt=null;
ResultSet rs=null;
try {
pstmt=conn.prepareStatement(sql);
pstmt.setInt(1,id );
rs=pstmt.executeQuery();
while(rs.next()){
sbTree.append("<div >");
for(int i=0;i<level-1;i++){
sbTree.append("<img src=\"../images/white.gif\" />");
}
if("N".equals(rs.getString("is_leaf"))){
sbTree.append("<img id=\"img"+rs.getInt("id")+"\" src=\"../images/plus.gif\" onClick=\"display("+rs.getInt("id")+");\" />")
.append("<img id=\"im"+rs.getInt("id")+"\" src=\" ../images/closedfold.gif\" onClick=\"display("+rs.getInt("id")+");\" />")
.append(rs.getString("name"));
//递归
sbTree.append("<div style=\"display:none;\" id=\"div"+rs.getInt("id")+"\">");
read(conn,rs.getInt("id"),level);
sbTree.append("</div>");
}else{
sbTree.append("<img src=\"../images/minus.gif\"/>")
.append("<img src=\" ../images/openfold.gif\"/>")
.append(rs.getString("name"));
}
sbTree.append("</div>");
}
} finally{
DB.close(rs);
DB.close(pstmt);
}
}
/**
* 递归读取分销商树
*
* 1.用加号“+”表示非叶子节点,用减号“-”表示叶子节点
* 2.加上<div>,将加号“+”,减号“-”改为图片,然后在其后面加上打开或者关闭的文件夹图片,
* 3.在图片"+"和"-"上添加鼠标事件,使树能实现收缩和关闭同时图片也做改变;在图片"打开的文件夹"和"关闭的文件夹"上添加鼠标事件;
* 4.在文字上添加链接,使得在某个地方显示对应的内容
*
* @param conn
* @param id
* @param level 控制层次的
* @throws SQLException
*/
private void read(Connection conn, int id, int level) throws SQLException {
level++;
String sql="select * from t_client where pid=?";
PreparedStatement pstmt=null;
ResultSet rs=null;
try {
pstmt=conn.prepareStatement(sql);
pstmt.setInt(1,id );
rs=pstmt.executeQuery();
while(rs.next()){
sbTree.append("<div >");
for(int i=0;i<level-1;i++){
sbTree.append("<img src=\"../images/white.gif\" />");
}
if("N".equals(rs.getString("is_leaf"))){
sbTree.append("<img id=\"img"+rs.getInt("id")+"\" src=\"../images/plus.gif\" onClick=\"display("+rs.getInt("id")+");\" />")
.append("<img id=\"im"+rs.getInt("id")+"\" src=\" ../images/closedfold.gif\" onClick=\"display("+rs.getInt("id")+");\" />")
.append("<a href=\"client_node_crud.html?id="+rs.getInt("id")+"\" target=\"clientDispAreaFrame\">"+rs.getString("name")+"</a>");
//递归
sbTree.append("<div style=\"display:none;\" id=\"div"+rs.getInt("id")+"\">");
read(conn,rs.getInt("id"),level);
sbTree.append("</div>");
}else{
sbTree.append("<img src=\"../images/minus.gif\"/>")
.append("<img src=\" ../images/openfold.gif\"/>");
//叶子节点分2类:一类是分销商,一类是区域
if ("Y".equals(rs.getString("is_client"))) {
sbTree.append("<a href=\"client_crud.html?id=" + rs.getInt("id") + "\" target=\"clientDispAreaFrame\">" + rs.getString("name") + "</a>");
}else {
sbTree.append("<a href=\"client_node_crud.html?id=" + rs.getInt("id") + "\" target=\"clientDispAreaFrame\">" + rs.getString("name") + "</a>");
}
}
sbTree.append("</div>");
}
} finally{
DB.close(rs);
DB.close(pstmt);
}
}
分享到:
相关推荐
"漂亮的css+div右则树形导航菜单"就是一个利用CSS(层叠样式表)和HTML的div元素创建的视觉效果良好的右侧树状结构的导航菜单。这种设计方式既符合现代网页的审美标准,又具有良好的用户体验。 CSS是网页样式和布局...
这个Div通常用于展示一些临时信息或者提供交互功能,比如本例中的树形菜单。下面我们将深入探讨如何实现这样的功能,并结合提供的文件结构进行分析。 首先,标题和描述中的"弹出可拖动的Div"指的是一个可以动态显示...
在网页设计中,树形菜单是一种常见的导航结构,它能够清晰地展示层级关系,帮助用户高效地浏览和访问网站内容。本项目以“Div+Css+js树形菜单”为主题,利用HTML的Div元素、CSS样式和JavaScript脚本来实现一个功能...
数据结构为数组中包含对象–树形结构,用Vue组件的写法实现以下的效果: 树形列表,缩进显示层级,第5级数据加底色,数据样式显色,点击展开折叠数据。本文为用Vue实现方式,另有一篇为用knockout.js的实现方法。 ...
Bootstrap Tree形下拉框是一种将传统的下拉菜单与树形结构结合的UI组件,它使得在有限的空间内展示层级关系的数据变得更加直观和易用。在Web开发中,Bootstrap框架提供了丰富的样式和组件,大大简化了网页设计的工作...
在本主题中,我们将深入探讨“EasyUI 树形控件展示”及其在实际应用中的使用。 一、EasyUI 树形控件介绍 EasyUI 的树形控件(Tree)是一种常用于展示层级关系数据的组件。它可以清晰地展现数据的层次结构,比如目录...
在IT领域,前端开发经常会遇到需要展示层次结构数据的情况,比如组织架构、产品分类等,这时树形下拉菜单就显得尤为重要。layui是一款优秀的国产前端框架,它以其简洁的API和丰富的组件,深受开发者喜爱。本教程将...
以上就是“jquery树形菜单+iframe显示实例”的核心知识点,这个示例展示了如何利用jQuery的强大力量来实现动态交互的网页元素,同时提供了一种有效展示和导航复杂信息的方式。通过理解和实践这些技术,开发者可以...
在“easyui 树形结构样例”中,我们主要探讨的是如何使用EasyUI实现一个可操作的树形结构,特别是在下拉框中展示的数据结构。这种树形结构在很多业务场景中都很常见,如组织结构管理、文件目录浏览等。 首先,我们...
本文主要探讨了使用Vue框架实现带有复选框的树形结构组件,重点在于在已有的递归组件基础上添加多选框功能,并实现一些基本的交互逻辑。要实现这样的功能,需要考虑以下几个关键技术点: 1. **递归组件的使用**:...
在IT领域,尤其是在前端开发中,构建树状图是一种常见的需求,它用于展示层次结构的数据,比如文件系统、组织架构或者导航菜单等。本教程主要介绍如何使用JavaScript和CSS技术来实现一个简单的树状图。 首先,我们...
1. **前端**:使用HTML创建一个容器元素,如`<div id="tree"></div>`,用于展示树形结构。 2. **JavaScript/jQuery**:使用Ajax发送请求到Servlet,例如`$.get('treeServlet', function(xmlData) {...})`。 3. **...
在Web开发中,有时我们需要在一个下拉框内展示层次化的数据,这时就需要用到树形下拉框。这种设计通常用于组织结构、地区层级、分类等场景,用户可以通过展开和折叠节点来浏览和选择。Bootstrap本身并未内置树形...
树形控件(TreeView)是一种常见的用户界面元素,它以层级结构展示数据,通常用于文件系统浏览或导航菜单。在IE浏览器中,这些控件通常通过ActiveX技术实现,这是一个微软开发的组件对象模型,允许在网页中嵌入各种...
"layui组件之树形下拉框"是Layui框架中的一个重要组件,用于在下拉菜单中展示层级结构的数据,常用于选择组织结构、地区分类等具有树状关系的场景。 ### layui组件简介 Layui是一个轻量级的前端框架,它包含了基础...
在页面中创建一个元素作为树形结构的容器,可以是 `div` 或者其他元素。 ```html <div id="jstree"></div> ``` 3. **初始化 jsTree** 使用 JavaScript 来初始化 jsTree,配置数据源和各种选项。 ```...
当添加了树形结构后,每个选项变成了可展开的节点,用户可以选择单个节点或整个子树,这大大增加了数据展示的层次感和选择的灵活性。 要实现基于layui的树形穿梭框,我们需要以下几个关键步骤: 1. **引入layui...
本工程使用dTree组件实现树形菜单的展示 有静态树形菜单和动态(从数据库获取数据)树形菜单展示两种 数据库连接采用简单的类实现 数据位MySQL(5.0.21),数据库创建脚本为dtree.sql 菜单既有普通的树结构展示,也有...