在Web界面下如何生成像资源管理器一样的树形目录

在Web界面下如何生成像资源管理器一样的树形目录(版本2.0) 树形目录显示程序问题描述: 在我们项目中常常会出现自关联的数据表,如果我们从整体看去,整个表就呈现为一个树形数据结构(对于复杂的情况,它可能变成一个图)。当我们对这个表进行显示,编辑时,如果不采用好的表现形式,会显得很笨拙,为此,我们开发这样的树形结构的程序。在上一版本中,我们使用的是递归算法来实现,在我们对这个算法评测时发现,对于拥有成千上万条记录的数据库就不再能胜任了,所以在新的算法版本中,我 阅读详情

在Web界面下如何生成像资源管理器一样的树形目录
 
关键字     数形目录 XML ASP Web Javascript
 


树形目录显示程序
问题描述:
在我们项目中常常会出现自关联的数据表,如果我们从整体看去,整个表就呈现为一个树形数据结构(对于复杂的情况,它可能变成一个图)。当我们对这个表进行显示,编辑时,如果不采用好的表现形式,会显得很笨拙,为此,我们开发这样的树形结构的程序。在上一版本中,我们使用的是递归算法来实现,在我们对这个算法评测时发现,对于拥有成千上万条记录的数据库就不再能胜任了,所以在新的算法版本中,我们使用了XML技术,动态的发现数据,以解决一次从服务器下在大量数据的尴尬,同时也遍免了如果表数据结构呈现为图时就会进入死循环的错误。

实际思路:
1、 初始显示时只显示根与二级节点,根与二级节点同在一层次
2、 点击一节点,如果它的子节点区域对象不存在,则建立对象,同时下载数据更新数据,显示所有子节点。
3、 每个节点在建立后都就有相同的功能,如检查子节点是否存在,显示隐藏子节点等等
4、 DHTML+XML+ASP+CSS同时使用
技术难点:
1、 使用xmlhttp接口时乱码问题:
因为在asp输出页面中,缺省的编码方案并不是中文的,那么在客户端页面的xmlhttp中解释时,就会以缺省的方案解析,所以就会出现乱码。为此,我们在Server端的asp页面中,加入如下代码定义编码方案:
Response.CharSet="GB2312"
Response.ContentType="text/html"

2、 如何在界面上保持上一版本的风格(类资源管理器形式):
在上一版本中,所有的页面内容都是一气呵成的,在控制上采用递归等思想,所有时的界面相对友好,当时本版中的机制发生了变化,内容是有多次合成的
关键问题,img ,span 对象的id 如何确定
经过求证,在界面上,本版本的界面难以与第一界面相同,所以只能保留一部分,但是总体来说,新界面同样也能满足需要

因为在这里不好使用附件,所以只能贴源码了:

---xtree.html-------------------------------------------------------------------

<HTML>
<HEAD>
<META NAME="GENERATOR" Content="Microsoft Visual Studio 6.0">
<SCRIPT LANGUAGE=javascript src="xtree.js">
</SCRIPT>
<style type="text/css">
<!--
a:link {  font-size: 14px; text-decoration: none; color: #0000FF}
a:visited {  font-size: 14px; color: #0000FF; text-decoration: none}
a:hover {  font-size: 14px; color: #FF0000; background-color: #CCCC99; text-decoration: none}
a:active {  font-size: 14px; color: #FFFFFF; background-color: #191970; text-decoration: none}
.item{ font-size:14px}
-->
</style>
</HEAD>
<BODY leftMargin=0 rightMargin=0 topMargin=0 border=0>
<bold>树形菜单演示程序</bold><br>
<table border=0>
<tr><td nowrap>
<span id='oSpanroot' border=0></span><SCRIPT LANGUAGE=javascript>createChildNode("root",0);</SCRIPT></td></tr>
</table>
</BODY>
</HTML>


-------xtree.asp---------------------------------------------------------------

<%@ Language=VBScript %>
<%
Response.CharSet="GB2312"
Response.ContentType="text/html"
''''''''''''''''Server code start''''''''''''''''
dim parId,nodeLayer
parid=Request.QueryString("parId")
nodeLayer=cint(Request.QueryString("nodeLayer"))

if(parid="") then
Response.Write("root id can't is null")
Response.End()
end if
if(nodeLayer<0) then
nodeLayer=0

end if
%>
<%
strconn="at"
strsql="select * from tree where par='"&parid&"'"
'SQL 语句书写要求:在记录集的前面三个字段必须依次为:row_id(惟一的主键)、name(菜单条显示的内容)、par_id(父节点row_id),其它根据需要输出与显示
set conn=server.createobject("ADODB.connection")
conn.open strconn

set rs=server.createobject("ADODB.Recordset")
rs.open strsql,conn,3,3
i=0
dim row_id
row_id=""
while not rs.EOF
  row_id=rs.Fields("row_id").Value
  name=rs.Fields("name").Value
  j=0
 
  while j<nodeLayer
   Response.Write("<img src='blank.bmp'>")
   j=j+1
  wend
  Response.Write("<img id='objNode"&row_id&"' style='cursor:hand' src='open.bmp' onclick=javascript:createChildNode('"&row_id&"',"&nodeLayer+1&") border=0 align='absmiddle'>")
  Response.Write("<img src='blank.bmp' border=0 align='absmiddle'>")
  Response.Write("<a class=item href='view.aspid="&row_id&"' target='mainFrame'>"&Trim(name)&"</a></br>")  '项目内容
  Response.Write("<span id='oSpan"&row_id&"' ></span>") '子节点内容区域
  i=i+1
  rs.MoveNext
wend
'''''''''''''''''''''Server Code END '''''''''''''''''
%>

---------xtree.js-----------------------------------------------------------------------------

function getChildTree(parId,nodeLayer)
//parId:=夫节点id,nodeLayer:=子节点所属层次
{
var xmlhttp = new ActiveXObject ("Microsoft.XMLHTTP");
    xmlhttp.Open("get", "xtree.aspparId="+parId+"&nodeLayer="+nodeLayer, false);
    xmlhttp.Send("Author:taojianbo;Version:2.0");
    return xmlhttp.responseText;
}

function showHide(objid)
//显示,隐藏区域,达到菜单显示的目的
//objid:=区域对象ID的parid部分
{
var temp;
  eval("temp=oSpan"+objid+".style.display");
if(temp=="block")
{
  eval("oSpan"+objid+".style.display='none'");
  eval("objNode"+objid+".src='open.bmp'");
}
else
{
  eval("oSpan"+objid+".style.display='block'");
  eval("objNode"+objid+".src='close.bmp'");
}
}//end function

function createChildNode(childNodeId,nodeLayer)
//如果子节点内容为空,则初始化,并更新数据
//childNodeId:=子节点对象Id的parid部分
{
var temp;
eval("temp=oSpan"+childNodeId+".innerHTML");
if(temp=="")
{
  eval("oSpan"+childNodeId+".innerHTML='<div align=right>LOADING...</div><br>'");
  temp=new String(getChildTree(childNodeId,nodeLayer));
  if(temp.length!=0)
  {
   eval("oSpan"+childNodeId+".innerHTML=temp");
   eval("objNode"+childNodeId+".src='close.bmp'");//变为减号
  }
  else
  {//如果temp内容为空,说明未找到子树,则该节点为叶节点,更改相关属性
   eval("objNode"+childNodeId+".src='leaf.bmp'");//更改图标
   eval("objNode"+childNodeId+".onclick='"); //取消click事件
   eval("oSpan"+childNodeId+".innerHTML=temp");//内容为空
  }
}
else
{ showHide(childNodeId);
}
}
 
 
 
 

基于java的文件资源管理器 删除文件 public void deleteFile(File file) { if(file!=null) if (file.exists()) {//判断文件是否存在 if (file.isFile()) {//判断是否是文件 file.delete();//删除文件 } else if (file.isDir 阅读详情

相关推荐

基于数据库动态生成树形目录

 一、  目录树的广泛应用 为了这段内容,在百度上搜了搜,内容一大通,相关的竟没有。搜什么搜嘛?用处不是明摆着吗?资源管理器文件夹的管理,论坛中多级论坛的管理,JAVA中的AWT正是缺乏包括树形目录这样的组件才用处受限......谁这么没礼貌,一点面子都不给,叫我怎么讲下去?清了清嗓子:在我们项目中常常会出现自关联的数据表,从整体看去,整个表就呈现为一个树形数据结构。当

水帘洞天 2517

Web实现本地电脑树形目录、读取本地文件夹、输出文件内容、动态绑定事件、文件句柄、递归、showDirectoryPicker、createElement、entries、getFile

Web实现本地电脑树形目录、读取本地文件夹、输出文件内容、动态绑定事件、文件句柄、递归、showDirectoryPicker、createElement、entries、getFile

优快云博客主页地址:https://mengjian.blog.youkuaiyun.com/ 1446

linux如下显示目录和子目录的树形结构

在Linux中,tree命令主要用于以树状图列出目录的内容。它以树形结构显示指定目录下的所有文件和子目录,包括子目录中的文件和目录。通过使用tree命令,用户可以快速了解目录的层次结构和组织方式,以及更好地管理和导航文件系统。

weixin_70208651的博客 2944

java web 不用框架 静态资源配置_9springboot处理Web静态资源

springboot处理Web静态资源以前的JavaWeb/maven(war形式)项目都是把静态资源放在webapps/WebContent目录下,然后把JavaWeb项目打包成war包,那现在的springboot都是jar包形式,那么静态资源放在哪里?springboot通过WebMvcAutoConfiguration类可以知道默认的静态资源路径 以及 指定静态资源的存放路径,接下来进...

weixin_36352023的博客 326

创建资源管理器风格的目录树

树形控件是一种用于展示层级关系的数据结构,它以树状形式呈现,其中的每个节点表示数据项,且拥有一个或多个子节点。这类控件在用户界面中很常见,如文件资源管理器的文件夹结构、组织结构图和网站导航等。树形控件的特点包括:层级性:每个节点可以有零个或多个子节点,子节点代表父节点的下一层级。扩展性:用户可以展开或折叠节点来查看或隐藏子节点,管理视图的复杂度。多样性:可以表示单选或多选、复选等多种选择模式。自定义性:节点的样式和行为可以根据需要自定义。

weixin_42576186的博客 1079

NVIDIA 2025 Board Design Engineer 校招笔试

电路分析,矩形波阶跃反馈驱动​,误差信号。非常简单,数电or​离散基础。第一题是考试规矩知情确认。大二暑假做的,纯体验​。五六题太长,下篇分享。

m0_74253823的博客 1125

java web设置资源目录_使用SpringMVC时,web应用的资源路径问题

web应用常见的资源存方式 在WEB-INF下新建lib,存放要使用的jar包在WEB-INF下新建jsp文件夹,存放jsp文件。首页除外,首页就放到web下。在web下,或WEB-INF下,新建css、js、image文件夹,存放相关文件。WEB-INF目录是web应用的安全目录,里面的资源不能被浏览器直接访问。web下的静态资源(html、css、js、图片等)都不能被浏览器直接访问,直接放到...

weixin_36315943的博客 891

Linux中断子系统(二)—— 通用框架处理

1、数据结构分析 (1)中断描述符结构structirq_desc: 1)打开CONFIG_SPARSE_IRQ宏(中断编号不连续),中断描述符以radix- tree来组织,用户在初始化时进行动态分配,然后再插入radix-tree中; 2)关闭CONFIG_SPARSE_IRQ宏(中断编号连续),中断描述符以数组的 形式组织,并且已经分配好; 3)不管哪种形式,最终都可以通过linuxirq号来找到对应的中断描述符; (2)stru...

weixin_38428439的博客 4871

在Web界面下如何生成像资源管理器一样的树形目录(转)

树形目录显示程序问题描述:在我们项目中常常会出现自关联的数据表,如果我们从整体看去,整个表就呈现为一个树形数据结构(对于复杂的情况,它可能变成一个图)。当我们对这个表进行显示,编辑时,如果不采用好的表现形式,会显得很笨拙,为此,...

cuankuangzhong6373的博客 228

基于CatBoost回归模型的完整预测分析:从建模到SHAP可解释性分析

本文介绍了使用CatBoost回归模型进行完整预测分析的流程。首先导入必要的Python库并加载数据,进行数据预处理包括训练测试集划分和归一化处理。然后通过网格搜索优化CatBoost超参数,使用最优参数训练模型并评估预测性能。结果显示模型具有较高的决定系数(R²=0.9944)和较低的误差指标(RMSE=0.0696)。接着进行残差分析和正态性检验,发现残差基本服从正态分布。最后通过SHAP分析实现模型可解释性,识别关键特征影响。该方法为梯度提升树在回归问题中的应用提供了完整解决方案。

fx666_的博客 746

嵌入式主板系统配置实战:OTG切换、双网共存与开机自启详解

在嵌入式Linux系统开发中,系统配置是连接硬件平台与应用功能的关键桥梁。其核心原理在于通过内核参数、文件系统接口和系统服务等机制,实现对硬件资源和系统行为的精细控制。掌握这些配置技术,对于提升开发效率、保障系统稳定性和实现产品差异化至关重要。无论是工业物联网网关、智能终端还是边缘计算设备,都需要对网络、USB、启动项等基础功能进行可靠配置。本文聚焦于嵌入式主板开发中的高频需求,例如OTG功能模式切换、双网共存路由策略以及基于systemd的开机自启动实现,通过具体的命令和脚本示例,为开发者提供一套可直接复

weixin_30827827的博客 320

html5资源管理器,在Web界面下如何生成像资源管理器一样的树形目录

在Web界面下如何生成像资源管理器一样的树形目录关键字 数形目录 XML ASP Web Javascript树形目录显示程序问题描述:在我们项目中常常会出现自关联的数据表,如果我们从整体看去,整个表就呈现为一个树形数据结构(对于复杂的情况,它可能变成一个图)。当我们对这个表进行显示,编辑时,如果不采用好的表现形式,会显得很笨拙,为此,我们开发这样的树形结构的程序。在上一版本中,我们使用的是递归算...

weixin_39968655的博客 572

人工智能学习之机器人路径规划优化

A* AStar 人工智能 机器人路径规划优化

RongLin02的博客 7073

在Web界面下如何生成像资源管理器一样的树形目录(转)

树形目录显示程序问题描述:在我们项目中常常会出现自关联的数据表,如果我们从整体看去,整个表就呈现为一个树形数据结构(对于复杂的情况,它可能变成一个图)。当我们对这个表进行显示,编辑时,如果不采用好的表现形式,会显得很笨拙,为此,...

csdn785029689的博客 585

大模型新闻摘要生成质量评估工具

大模型新闻摘要生成质量评估工具 关键词:大模型、新闻摘要、质量评估、自然语言处理、算法 摘要:本文将探讨大模型新闻摘要生成质量评估工具的设计与应用。首先介绍大模型新闻摘要生成的背景和问题,然后深入分析质量评估的难点和重要性,接着介绍大模型的

AI天才研究院 827

高云FPGA系列教程(1):FPGA和ARM开发环境搭建

至此,高云FPGA和MCU开发环境就搭建完成了,整体还是比较简单的,几乎是一键完成,下一篇文章我们进行实际的FPGA和MCU开发。本文是高云FPGA系列教程的第1篇文章。

whik1194的博客 6186

html 折叠目录树,在Web界面下生成像资源管理器一样的树形目录(很酷的效果)...

——————————————————————————–问题描述:在我们项目中常常会出现自关联的数据表,如果我们从整体看去,整个表就呈现为一个树形数据结构(对于复杂的情况,它可能变成一个图)。当我们对这个表进行显示,编辑时,如果不采用好的表现形式,会显得很笨拙,为此,我们开发这样的树形结构的程序。在上一版本中,我们使用的是递归算法来实现,在我们对这个算法评测时发现,对于拥有成千上万条记录的数据库就不...

weixin_35728089的博客 1224

Xilinx/AMD公司7系列FPGA的ISERDESE2仿真的”天坑”(附verilog的源码vivado仿真工程)

研究LVDS输出接口的ADC与7系列(ZYNQ)FPGA对接过程中,在Vivado中搭建了ISERDESE2的仿真工程,仿真结果ISERDESE2的并行输出口一直输出X或Z,这个坑之大,耗费了我数天的时间,可以称为“天坑”了。同步复位的要求肯定是高于异步复位的,古话说得好“两害相权取其轻”,所以,跟古话对着干就对了!就当RST是同步复位吧,最后经过反复验证,发现。开始怀疑复位信号是否高电平持续时间不够长?但是没有查到复位时间的要求 : - (

FPGA艺术家的博客 171

asp mysql 可编辑树状,基于数据库动态生成树形目录-ASP教程,数据库相关

一、 目录树的广泛应用为了这段内容,在百度上搜了搜,内容一大通,相关的竟没有。搜什么搜嘛?用处不是明摆着吗?资源管理器文件夹的管理,论坛中多级论坛的管理,java中的awt正是缺乏包括树形目录这样的组件才用处受限……谁这么没礼貌,一点面子都不给,叫我怎么讲下去?清了清嗓子:在我们项目中常常会出现自关联的数据表,从整体看去,整个表就呈现为一个树形数据结构。当我们对这个表进行显示、编辑时,如果不采用...

weixin_39631649的博客 331

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

C#动态生成树型结构的Web程序设计

许多应用软件的程序设计,我们都希望能像Windows资源管理器那样将其驱动器和其下的文件及文件夹按照层次结构来安排。在C/S条件下这些很容易实现,那么在B/S的Web方式下,我们实现起来就不是特别容易。针对这个问题,在 2002 年,Microsoft? 发布了四种 ASP.NET Web 控件,用于为使用 Microsoft Internet Explorer 的 Web 访问者提供更好的体验。

小逗狗的专栏 795

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

ASP.NET 模拟Windows资源管理器

Windows中文件资源管理主要是通过“Windows资源管理器”来完成,如果想在网络上实现文件的远程浏览,可以通过如下几种方法:   1、FTP   2、Remote Desktop Manager   3、WWW   其中前两种方法只能是一对一的管理,不能针对多人资源共享的情况(比如我想将服务器上的各种资源提供给外部浏览、下载),而通过WWW进行文件资源的访问则是可行的方法,使用者只要

crs1934的专栏 2164

终极指南:如何在表格中快速创建树形结构 - jQuery TreeTable 完全教程

jQuery TreeTable 是一个功能强大的 jQuery 插件,专门用于在 HTML 表格中展示树形数据结构。无论您需要显示目录结构、组织架构图还是任何需要层级关系的数据,这个插件都能帮您轻松实现。🚀 ## 什么是 jQuery TreeTable? jQuery TreeTable 插件让您能够在普通的 HTML 表格中创建复杂的树形结构,同时保持表格的多列特性。这意味着您可以在展

gitblog_00632的博客 452
上一篇: Web开发中的Drag&Drop完全手册
下一篇: C#类和对象
SmartJavaer
博客等级 码龄21年 13粉丝 37原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值