树形结构是描述层次数据的常滑蚂见方法 本文介绍的树形结构生成程序主要由一个ASP页面 二个&avascript函数构成 该树
形结构是异步的 也就是说 节点数据仅在必要时才读取 而不是一次性全部发送到客户端
一 概述
树形结构中所有的节点都必须包含以下属性 本身的ID 父节点的ID 以及本节点的说明(节点文本) 本文用到了一个
Access数据库Tree mdb来保存这些节点信息 Tree mdb包含表tblTree 其定义如下
字段名称 类型 说明
ElementID 自动编号 节点的唯一标识
ParentElementID 数字 父节点的ID
ElementText 文本 节点文本
本程序利用Tree dsn文件定义Tree mdb数据源 Tree dsn内容可以用控制面板中的ODBC数据源配置程序得到 内容如下
[ODBC]
DRIVER=Microsoft Access Driver (* mdb)
UID=admin
UserCommitSync=Yes
Threads=
SafeTransactions=
PageTimeout=
MaxScanRows=
MaxBufferSize=
ImplicitCommitSync=Yes
FIL=MS Access
DriverId=
DefaultDir=d:Inetpubroot
DBQ=d:InetpubrootTree mdb
注意运行本文程序时 应当修改Tree dsn中的DefaultDir和DBQ 使其指向正确的目录和文件
客户端功能分两部分实现 其一是一个普通的浏览器窗口 其二为一个IFRAME IFRAME是不可见的 它的作用是负责浏览器
窗口与服务器之间信升埋的通信 下面是示例程序的一个运行界面
【图 】
树形结构各个节点之间的关系可以用<DIV >标记表示如下
【图 】
在这里 文档的<BODY >是第一层节点(divTree )的容器 第一层总共包含四个节点 这四个节点又分别是其子节点组的
容器 例如 上图中divTree 包含了div div div 和div (它们分别对应一个节点) 而div 又是divTree 的容器
divTree 包含了div ——div div 又是divTree 的容器 而divTree 包含了div ……
鼠标单击事件由各个节点本身(div div ……)响应 而不是由容器响应 节点响应鼠标单击事件后将禁止事件进一步
向上(向父节点)传递 这部分功能在GetTree函数内实现 请参见该函数代码以了解具体实现方法
整个树形结构的作用过程可用下图表示
【图 】
二 服务器端代码
客户端脚本向服务器发送的请求包含了一个节点标识 服务器脚本GetTreeData asp查找数据库获得该节点的所有子字节点
并将这些子节点返回给客户程序 GetTreeData asp代码如下:
<% Dim rstTree
Dim strSQL
Dim strData
If Request QueryString( Level ) = Then
Response End
End If
strSQL = SELECT * FROM tblTree WHERE ParentElementId =
strSQL = strSQL &Request QueryString( Level ) &ORDER BY ElementID
Set rstTree = Server CreateObject( ADODB Recordset )
笑卜rstTree Open strSQL FileDSN=d:inetpubroot ree dsn
strData =
Do While Not rstTree EOF
strData = strData &rstTree( ElementId ) &| &rstTree( ParentElementId ) &| &
rstTree( ElementText ) &|
rstTree MoveNext
Loop
rstTree Close % >
<HTML >
<BODY OnLoad= parent PopulateTree('<%=strData% >')></BODY >
</HTML >
注意 在实际使用中应相应地更改DSN文件所在路径 这段代码并不复杂 但请注意以下两点 第一 客户请求的格式应该为
lishixinzhi/Article/program/net/201404/30517
1.打开EXCEL,在菜单栏的“插入”选项中,选择“SmartArt”工具,如下图的步骤1和步骤;
2.d出的对话框中,如下图步骤3,笑此选择“层次结构,再按步骤4选择需要用到的树状图;
3.随意选择了一种树状图,d出的树状图如下态升纳,图中的文字部分可以更改成需要的内容;
4.更改树状图形状:选择任意需要更改的树状图单元,鼠标右键单击,在d出的菜单中选择“更改形状”,可将树状图单元改成需要的形状,如下图的步骤5和步骤6,更改效果如下图的“二级C”所示;
5.添加树状图的单元:选择任意需要更改的树状图单元,鼠标右键单击,在d出的菜单中选择“添加形状”,在树状单元的前、后、上、下方添加单元,帆没如下图的步骤7和步骤8;
更改效果如下图的“二级C”所示,其中选择了“在上方添加形状”选项后,原单元形状会下移一级,如下图所示;
有多种方法:
一、直接帆肢源法:你需要插入SMARTART图形架构,可以呈现树状结构。饥野
二、间接法:把电子表设置不同的态态边框输入内容即可。
三、对象法:导入外部树状图程序。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)