`
wlh269
  • 浏览: 455665 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

DIV树状展示

    博客分类:
  • JSP
SQL 
阅读更多
/**
	 * 递归读取分销商树
	 * 
	 * 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("&nbsp;&nbsp;&nbsp;");
			}
			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+div右则树形导航菜单"就是一个利用CSS(层叠样式表)和HTML的div元素创建的视觉效果良好的右侧树状结构的导航菜单。这种设计方式既符合现代网页的审美标准,又具有良好的用户体验。 CSS是网页样式和布局...

    弹出可拖动的Div,里面还有树形菜单

    这个Div通常用于展示一些临时信息或者提供交互功能,比如本例中的树形菜单。下面我们将深入探讨如何实现这样的功能,并结合提供的文件结构进行分析。 首先,标题和描述中的"弹出可拖动的Div"指的是一个可以动态显示...

    Div+Css+js树形菜单

    在网页设计中,树形菜单是一种常见的导航结构,它能够清晰地展示层级关系,帮助用户高效地浏览和访问网站内容。本项目以“Div+Css+js树形菜单”为主题,利用HTML的Div元素、CSS样式和JavaScript脚本来实现一个功能...

    Vue组件模板形式实现对象数组数据循环为树形结构(实例代码)

    数据结构为数组中包含对象–树形结构,用Vue组件的写法实现以下的效果: 树形列表,缩进显示层级,第5级数据加底色,数据样式显色,点击展开折叠数据。本文为用Vue实现方式,另有一篇为用knockout.js的实现方法。 ...

    bootstrap树形下拉框 下拉框树形菜单

    Bootstrap Tree形下拉框是一种将传统的下拉菜单与树形结构结合的UI组件,它使得在有限的空间内展示层级关系的数据变得更加直观和易用。在Web开发中,Bootstrap框架提供了丰富的样式和组件,大大简化了网页设计的工作...

    Easyui 树形控件展示

    在本主题中,我们将深入探讨“EasyUI 树形控件展示”及其在实际应用中的使用。 一、EasyUI 树形控件介绍 EasyUI 的树形控件(Tree)是一种常用于展示层级关系数据的组件。它可以清晰地展现数据的层次结构,比如目录...

    layui树形下拉菜单

    在IT领域,前端开发经常会遇到需要展示层次结构数据的情况,比如组织架构、产品分类等,这时树形下拉菜单就显得尤为重要。layui是一款优秀的国产前端框架,它以其简洁的API和丰富的组件,深受开发者喜爱。本教程将...

    jquery树形菜单+iframe显示实例

    以上就是“jquery树形菜单+iframe显示实例”的核心知识点,这个示例展示了如何利用jQuery的强大力量来实现动态交互的网页元素,同时提供了一种有效展示和导航复杂信息的方式。通过理解和实践这些技术,开发者可以...

    easyui 树形结构样例

    在“easyui 树形结构样例”中,我们主要探讨的是如何使用EasyUI实现一个可操作的树形结构,特别是在下拉框中展示的数据结构。这种树形结构在很多业务场景中都很常见,如组织结构管理、文件目录浏览等。 首先,我们...

    vue实现的树形结构加多选框示例

    本文主要探讨了使用Vue框架实现带有复选框的树形结构组件,重点在于在已有的递归组件基础上添加多选框功能,并实现一些基本的交互逻辑。要实现这样的功能,需要考虑以下几个关键技术点: 1. **递归组件的使用**:...

    用Js和css实现树状图

    在IT领域,尤其是在前端开发中,构建树状图是一种常见的需求,它用于展示层次结构的数据,比如文件系统、组织架构或者导航菜单等。本教程主要介绍如何使用JavaScript和CSS技术来实现一个简单的树状图。 首先,我们...

    jquery+servlet展示XML树形结构

    1. **前端**:使用HTML创建一个容器元素,如`&lt;div id="tree"&gt;&lt;/div&gt;`,用于展示树形结构。 2. **JavaScript/jQuery**:使用Ajax发送请求到Servlet,例如`$.get('treeServlet', function(xmlData) {...})`。 3. **...

    bootstrap树形下拉框 下拉框树形菜单(修改版)

    在Web开发中,有时我们需要在一个下拉框内展示层次化的数据,这时就需要用到树形下拉框。这种设计通常用于组织结构、地区层级、分类等场景,用户可以通过展开和折叠节点来浏览和选择。Bootstrap本身并未内置树形...

    [资源分享]解决Win10下IE浏览器树形控件treeview无法显示的问题

    树形控件(TreeView)是一种常见的用户界面元素,它以层级结构展示数据,通常用于文件系统浏览或导航菜单。在IE浏览器中,这些控件通常通过ActiveX技术实现,这是一个微软开发的组件对象模型,允许在网页中嵌入各种...

    layui组件之树形下拉框

    "layui组件之树形下拉框"是Layui框架中的一个重要组件,用于在下拉菜单中展示层级结构的数据,常用于选择组织结构、地区分类等具有树状关系的场景。 ### layui组件简介 Layui是一个轻量级的前端框架,它包含了基础...

    使用jsTree实现js树形结构

    在页面中创建一个元素作为树形结构的容器,可以是 `div` 或者其他元素。 ```html &lt;div id="jstree"&gt;&lt;/div&gt; ``` 3. **初始化 jsTree** 使用 JavaScript 来初始化 jsTree,配置数据源和各种选项。 ```...

    基于layui实现树形穿梭框

    当添加了树形结构后,每个选项变成了可展开的节点,用户可以选择单个节点或整个子树,这大大增加了数据展示的层次感和选择的灵活性。 要实现基于layui的树形穿梭框,我们需要以下几个关键步骤: 1. **引入layui...

    dtree树形菜单(有带checkbox实现)

    本工程使用dTree组件实现树形菜单的展示 有静态树形菜单和动态(从数据库获取数据)树形菜单展示两种 数据库连接采用简单的类实现 数据位MySQL(5.0.21),数据库创建脚本为dtree.sql 菜单既有普通的树结构展示,也有...

Global site tag (gtag.js) - Google Analytics