oletree问题请教

shetianlang 2011-03-02 07:20:52
大家好,我的问题是:利用oletree来从数据库中生成动态的四层的一个树.

目前的困难是只写两层则完全正常,到第三层就乱显示了,请教各位.
代码如下:
三层树的代码:
<%@ page contentType="text/html; charset=GB2312" %>
<%@ page language="java"%>
<%@ page import="java.sql.*"%>
<%@ page import="java.sql.Connection"%>
<%@ page import="java.sql.PreparedStatement"%>
<%@ page import="java.sql.ResultSet"%>
<%@ page import="java.sql.SQLException"%>
<%@ page import="com.crm.dao.XConnection"%>
<%@ page import="com.oletech.html.tree.OleTreeNode" %>
<%@ page import="com.oletech.html.tree.OleTreeMenu" %>
<%@ page import="com.crm.ui.CrmContant" %>
<html>
<head>
<title>区域列表树</title>
<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="This is my page">
<link rel="stylesheet" href="./dtree.css">
<style type="text/css">
<!--
body {
background-color: #e7edf4;
margin-left: 0px;
margin-top: 0px;
}
-->
</style>
</head>
<%
String background_color = "B5DBDE";
OleTreeMenu tmInfo = new OleTreeMenu("tmInfo");
tmInfo.setJsDir("./javascript/");
tmInfo.printHeader(out);
OleTreeNode tn = new OleTreeNode("d");
tn.setJsDir("./javascript/");
tn.setImgDir("./treeimages/");
tn.setBgColor("#"+background_color);
tn.setColorMouseOnBG("bisque");
out.println(tn.getClickScriptFunction());
out.println(tn.getColorScript());

String nextSrc = "CustIndex.jsp";
String nextName = "content";

Connection conn = null;
PreparedStatement OneLevel = null;
PreparedStatement TwoLevel = null;
PreparedStatement ThrLevel = null;
ResultSet oRs1 = null;
ResultSet oRs2 = null;
ResultSet oRs3 = null;
String strUrl = "";

%>
<body bgcolor="#<%=background_color%>">
<div style='height:450;text-overflow:ellipsis;overflow: auto;'>
<%
out.write("<fieldset>");
try{
XConnection connection = new XConnection();
conn = connection.getConnection();
conn.setAutoCommit(false);
OneLevel = conn.prepareStatement("SELECT id,name FROM crm_district WHERE level=1 AND up_level=0");
oRs1 = OneLevel.executeQuery();
int i = 0;
int vdistid1= 0;
String vdistname1 = "";
while (oRs1.next()){
i++;
vdistid1 = oRs1.getInt("id");
byte []bs1 = oRs1.getBytes("name");
if(bs1!=null){
vdistname1 = new String(bs1);
if(vdistname1==null||vdistname1.trim().equalsIgnoreCase("null")) vdistname1="";
}
OleTreeNode tnOne = new OleTreeNode(""+i,vdistname1);
tnOne.setImgDir("./treeimages/");
tnOne.addLink(nextSrc+"?"+ strUrl +"&districtid="+vdistid1,nextName);
tnOne.setIsClosed(true);

TwoLevel = conn.prepareStatement("SELECT id,name FROM crm_district WHERE level=2 AND up_level=?");
TwoLevel.setInt(1,vdistid1);
oRs2 = TwoLevel.executeQuery();
int j = 100;
int vdistid2 =0;
String vdistname2 = "";
while (oRs2.next()){
j++;
vdistid2 = oRs2.getInt("id");
byte []bs2 = oRs2.getBytes("name");
if(bs2!=null){
vdistname2 = new String(bs2);
if(vdistname2==null||vdistname2.trim().equalsIgnoreCase("null")) vdistname2="";
}
OleTreeNode tnTwo = new OleTreeNode("" + i + j,vdistname2);
tnTwo.setImgDir("./treeimages/");
tnOne.addChild(tnTwo);
tnTwo.addLink(nextSrc+"?"+strUrl+"&districtid="+vdistid2,nextName);
tnTwo.setIsClosed(true);
//-------------------------第三层代码---------------
ThrLevel = conn.prepareStatement("SELECT id,name FROM crm_district WHERE level=3 AND up_level=?");
ThrLevel.setInt(1,vdistid2);
oRs3 = ThrLevel.executeQuery();
int k = 1000;
int vdistid3 =0;
String vdistname3 = "";
while (oRs3.next()){
k++;
vdistid3 = oRs3.getInt("id");
byte []bs3 = oRs3.getBytes("name");
if(bs3!=null){
vdistname3 = new String(bs3);
if(vdistname3==null||vdistname3.trim().equalsIgnoreCase("null")) vdistname3="";
}
OleTreeNode tnThr = new OleTreeNode("" + i + j + k,vdistname3);
tnThr.setImgDir("./treeimages/");
tnTwo.addChild(tnThr);
tnThr.addLink(nextSrc+"?"+strUrl+"&districtid="+vdistid3,nextName);
tnThr.setIsClosed(true);
}
tnTwo.printTree2(out);
oRs3.close();
ThrLevel.close();
//----------------------------------------------------------------
}
tnOne.printTree2(out);
oRs2.close();
TwoLevel.close();
}
oRs1.close();
conn.commit();
OneLevel.close();
conn.close();
}catch (Exception ex){
conn.close();
ex.printStackTrace();
}
out.println("</fieldset>");
%>
</div>
</body>
</html>
红色字体为加第三层的代码.不加红色代码则两层树完全正常.贴图如下:




请问怎么解决啊?
...全文
90 3 打赏 收藏 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
shetianlang 2011-03-03
  • 打赏
  • 举报
回复
哎,没人给我指点一下
shetianlang 2011-03-03
  • 打赏
  • 举报
回复
请各位高手帮我看看啊,跪谢了
shetianlang 2011-03-02
  • 打赏
  • 举报
回复
囧了,图片怎么显示不了,大家去这里看下,谢谢

http://hi.csdn.net/space-1516995-do-album-picid-753516-goto-down.html
http://hi.csdn.net/space-1516995-do-album-picid-753517-goto-down.html
内容概要:本文围绕永磁同步电机(PMSM)的矢量控制技术展开系统性研究,重点阐述了基于Simulink平台构建PMSM速度控制仿真模型的方法与实践。文章深入剖析了矢量控制的核心原理,包括Clarke变换与Park变换在内的坐标变换理论、磁场定向控制(FOC)策略、电流环与速度环构成的双闭环控制系统结构,以及空间矢量脉宽调制(SVPWM)技术在逆变器驱动中的应用。通过Simulink仿真实现完整的控制架构,对系统的动态响应特性进行了分析与验证,充分展示了该控制策略在调速性能、转矩响应和鲁棒性方面的优越表现。; 适合人群:具备电机控制、电力电子及自动控制理论基础,从事电气工程、自动化、新能源汽车、智能制造等相关领域研究与开发工作的研究生、科研人员及工程技术人员。; 使用场景及目标:①深入理解PMSM矢量控制的理论体系与关键技术细节;②掌握利用Simulink进行电机控制系统建模、仿真与性能评估的方法;③为高性能电机驱动器的设计与优化提供理论依据和技术参考。; 阅读建议:建议读者结合Simulink软件动手复现仿真模型,重点理解各功能模块的参数设计与相互关联,关注PI控制器的整定过程与SVPWM模块的实现逻辑,并可通过改变负载或参考转速来观察系统响应,从而加深对控制策略的理解与掌握。
已经博主授权,源码转载自 https://pan.quark.cn/s/27084300a254 《面向iOS设备的MFi认证文档:Accessory Interface Specification R31的深入解析》 苹果的MFi(Made for iPhone/iPod/iPad)认证是一项针对第三方配件生产厂商的核心准则,其核心目标在于保障配件与苹果设备之间的互操作性和安全性。Accessory Interface Specification R31是此项认证的当前最新版本,系统性地阐述了开发适用于iOS平台配件所必须遵循的技术准则与具体要求。 1. **规范宗旨** 该技术文档的主要功能在于明确Apple认证配件应遵守的设计理念、功能特性以及性能指标,从而确保这些配件能够与iOS设备实现无障碍的协同作业。 2. **文档布局** 该规范被划分为多个章节,涵盖了设备适配性、测试流程、开发资源、参考模型、安全机制以及无线传输效能等多个维度,为生产厂商指明了明确的开发方向。 3. **适用范畴** 该规范适用于所有意图与iOS设备实现兼容的外部设备,无论其通过物理线路还是无线方式连接,均需满足其中的各项条件。 4. **必要条件、建议措施与授权管理** 配件设计者不仅必须遵循强制性的规范要求,同时亦需兼顾推荐的实施方法与权限配置,以期达到最优的用户交互体验和设备安全防护。 5. **预发布测试阶段** 文档中提供了开发者测试版与生产厂商测试版,使开发者在产品正式上市前能够进行充分的测试和改进。 6. **专业术语阐释** 该规范中界定了诸如“设备”、“配件”、“认证协处理器”等核心概念,旨在辅助读者准确理解文档内容。 7. **配件具体要求** - 基础设备兼容性:必须...

81,108

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧