字段名 | 字段類型 | 必填 | 默認值 | 其他 | 索引 | 說明 |
---|---|---|---|---|---|---|
id | 數(shù)字 | 自動編號 | 有(無重復) | 節(jié)點的唯一編號 | ||
p_id | 長整型 | 是 | 0 | 節(jié)點父親編號值 | ||
name | 文本 | 新建文件夾 | 不允許為空字符串 | 節(jié)點名稱 | ||
porder | 長整型 | 有(有重復) | 節(jié)點的先序排序號 | |||
dep | 長整型 | 1 | 節(jié)點深度值 | |||
del | 布爾 | Flase | 是否刪除 | |||
附注:字段名僅僅為默認的字段名,如果您不指定其他的字段名的話,程序就假定您的字段和表名名為默認的。 |
2.在需要使用的頁面使用服務器包含命令:!--#include file="dbtree.asp" -->
3.初始化一個對象實例,然后初始化數(shù)據(jù)庫聯(lián)接字符串和其他變量
%@ LANGUAGE="VBSCRIPT" CODEPAGE="936"%>
% option explicit 'TRANSACTION = Required%>
!--#include file="dbtree.asp" -->
%
Dim MM_btree_STRING '數(shù)據(jù)庫聯(lián)接字符串
MM_btree_STRING = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source= "server.mappath("tree.mdb")
%>
%
dim tree
set tree=new DBtree
tree.conn=MM_btree_STRING '指定聯(lián)接字符串
tree.table="tree"'制定表名
tree.id="id"'制定列名
tree.p_id="p_id"
tree.porder="porder"
%>
4接下來就可以對樹進行各種操作了:
實例:
1.將樹顯示為列表:
%
Dim arr1(1,0),arr2(1,0),cache
arr1(0,0) = "ul>"
arr1(1,0) = "/ul>"
arr2(0,0) = "li>{name}"
arr2(1,0) = "/li>"
cache = tree.display(0,-1,arr1,arr2,"relative")
response.write(cache)
%>
2.插入,刪除等
select case request.Form("submit")
case "移動"
msg =tree.moveNode(request.Form.Item("src"),request.Form.Item("des"))
case "刪除"
msg =tree.delNode(request.Form("node"),false)
case "永久刪除"
msg =tree.delNode(request.Form("node"),true)
case "恢復"
msg =tree.undel(request.Form("undel"))
end select
3.其他的操作請參見實例
4.API
整個程序是一個類,提供插入、移動、刪除、顯示、輸出為列表控件等接口,以后功能還會不斷完善。
函數(shù)名 | 功能 |
insertNode(int node_pid, str node_name) |
插入一個節(jié)點作為給出節(jié)點的孩子節(jié)點。
參數(shù):
|
MoveNode(src_id,des_id) | 移動節(jié)點和他的子樹,參數(shù):src_id源節(jié)點id;des_id:目標節(jié)點id(注意暫時不能將一個節(jié)點移動到根下(0)) |
DelNode(id,confirm) | 刪除節(jié)點和子樹,參數(shù):id節(jié)點id;confirm:是否直接刪除true/false。 |
undel(id) | 恢復沒有直接刪除的節(jié)點 |
string OutPutOption(root_id,selected_id,show_root,rel_deep) |
將樹輸出為類表控件的選項,即option>標簽 參數(shù):
|
Display(root_id,rel_deep,menu_tag,item_tag,options) | 功能:讀出并且按模板標簽生成顯示內(nèi)容,替換標簽有:{id},{name},{porder},{auto},{pid}
|
SubTree(node_id,order,rel_deep,with_root,with_del) | 取得子目錄記錄集
|
AlterNode(node_id,new_name,step) |
修改節(jié)點信息
|
程序還在改進中,有些接口還待調(diào)整 |
©linzsoft.com2006-05-26