`
wlh269
  • 浏览: 455586 次
  • 性别: 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);
	}
	}
	
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics