DIV树状展示


/**
* 递归读取分销商树
*
* 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);
}
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值