分销商模块之分销商树的原理及div树的形成
来源:互联网 发布:中国网络三剑客 编辑:程序博客网 时间:2024/04/30 23:17
原理:查到返回的都是字符串,用递归的方法去读取.
开发的步骤:
第一步:先把分销商的信息先全部以字符串的方式输出来即可,不用去管其他的层次感.
第二步:加入层次感,比较像树了.看你递归调了几次了,传入的level即可控制.
第三步:加入加减号,如果是叶子节点前面就加入减号,非叶子节点前面就加入一个加号.
div树:控制三个img1,im1,下面的那个div,控制这三个的事件即可.
第四步:采用div生成树形结构.每个节点之前都有个div,每一个都有div的结束
// //第一步:先把分销商信息从数据库里读出来,把它先显示出来,而不加任何层次的东西
// private void readClientTree(Connection conn,int id,int level)throws SQLException{
// 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()){
// //String clientName=rs.getString("name");
// sbHtml.append(rs.getString("name"));
// if("N".equals(rs.getString("is_leaf"))){
// readClientTree(conn,rs.getInt("id"),level);
// }
// }
// }finally{
// DbUtil.close(rs);
// DbUtil.close(pstmt);
// }
// }
// //第二步:加入层次感,比较像树了.看你递归调了几次了,传入的level即可控制.
// private void readClientTree(Connection conn,int id,int level)throws SQLException{
// 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()){
// //String clientName=rs.getString("name");
// for(int i=0;i<level;i++){
// sbHtml.append(" ");
// }
// sbHtml.append(rs.getString("name")).append("<br/>");
// if("N".equals(rs.getString("is_leaf"))){
// readClientTree(conn,rs.getInt("id"),level+1);
// }
// }
// }finally{
// DbUtil.close(rs);
// DbUtil.close(pstmt);
// }
// }
// //第三步:加入加减号,如果是叶子节点前面就加入减号,非叶子节点前面就加入一个加号.
// private void readClientTree(Connection conn,int id,int level)throws SQLException{
// 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()){
// //String clientName=rs.getString("name");
// for(int i=0;i<level;i++){
// sbHtml.append(" ");
// }
// if("N".equals(rs.getString("is_leaf"))){
// sbHtml.append("-").append(rs.getString("name")).append("<br/>");
// readClientTree(conn,rs.getInt("id"),level+1);
// }else{
// sbHtml.append("+").append(rs.getString("name")).append("<br/>");
// }
// }
// }finally{
// DbUtil.close(rs);
// DbUtil.close(pstmt);
// }
// }
//第四步:采用div生成树形结构.每个节点之前都有个div,每一个都有div的结束.
private void readClientTree(Connection conn,int id,int level)throws SQLException{
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()){
//String clientName=rs.getString("name");
sbHtml.append("<div>");
for(int i=0;i<level;i++){
sbHtml.append("<img src=/"../images/white.gif/">/n");
}
if("N".equals(rs.getString("is_leaf"))){
sbHtml.append("<img alt=/"展开/" style=/"cursor:hand;/" onClick=/"display('"+rs.getInt("id")+"');/"/n")
.append("id=/"img"+rs.getInt("id")+"/" src=/"../images/plus.gif/">/n")
.append("<img id=/"im"+rs.getInt("id")+"/" src=/"../images/closedfold.gif/">/n")
.append("<a href=/"client_node_crud.jsp?id="+rs.getInt("id")+"/" target=/"clientDispAreaFrame/">"+rs.getString("name")+"</a>/n")
.append("<div style=/"display:none;/" id=/"div"+rs.getInt("id")+"/">/n");
//sbHtml.append("-").append(rs.getString("name")).append("<br/>");
readClientTree(conn,rs.getInt("id"),level+1);
sbHtml.append("</div>/n");
}else{
sbHtml.append("<img src=/"../images/minus.gif/">/n")
.append("<img src=/"../images/openfold.gif/">/n");
if(Constants.YES.equals(rs.getString("is_client"))){
sbHtml.append("<a href=/"client_crud.jsp?id="+rs.getInt("id")+"/" target=/"clientDispAreaFrame/">"+rs.getString("name")+"</a>/n");
}else{
sbHtml.append("<a href=/"client_node_crud.jsp?id="+rs.getInt("id")+"/" target=/"clientDispAreaFrame/">"+rs.getString("name")+"</a>/n");
}
//sbHtml.append("+").append(rs.getString("name")).append("<br/>");
}
sbHtml.append("</div>/n");
}
}finally{
DbUtil.close(rs);
DbUtil.close(pstmt);
}
}
div树原理图:
- 分销商模块之分销商树的原理及div树的形成
- cPanel中国的分销商与cPanel演示地址
- 添加或删除分销商时如何刷新那棵树
- 添加分销商
- 删除分销商
- [走过的路]联想时光——分销商的那些事
- 这还是你认识的中建信息吗?从增值分销商到云商的蜕变
- 1.案例:查询各个级别分销商的数量(饼图和柱状图)-Dao
- 2.案例:查询各个级别分销商的数量(饼图和柱状图)-Manger
- 3.案例:查询各个级别分销商的数量(饼图和柱状图)-Servlet(饼图)
- 4.案例:查询各个级别分销商的数量(饼图和柱状图)-Servlet(柱状图)
- 5.案例:查询各个级别分销商的数量(饼图和柱状图)-JSP
- 2015最火爆的代理招商!合冠泓云支付诚招全国分销商,
- 电子元器件分销商列表
- 经销商、分销商、代理商
- 分销商管理--代理模式
- 软件开发商还在为产品销路犯愁吗~找我们来帮忙吧~全国最大的软件分销商
- AIXUN艾逊,MRO工业品分销商
- Unable to acquire Oracle environment handle 问题的解决
- SSH框架杂记
- 安全认证
- Android调用Restfull
- linux头文件
- 分销商模块之分销商树的原理及div树的形成
- vi常用命令集锦
- 摘要、签名、加密、证书
- 如何提高Android用户体验
- Some text formatting may have changed in this file because the maximum number of fonts was exceeded解决办法
- API之进程和线程函数
- 一个Flex3多文件上传组件
- CodePro Analytix 官方下载地址
- Object转换为String的总结