DHTML+XML+ASP+CSS=樹形目錄
來源:互聯網
上載者:User
樹形目錄顯示程式
問題描述:
在我們項目中常常會出現自關聯的資料表,如果我們從整體看去,整個表就呈現為一個樹形資料結構(對於複雜的情況,它可能變成一個圖)。當我們對這個表進行顯示,編輯時,如果不採用好的表現形式,會顯得很笨拙,為此,我們開發這樣的樹形結構的程式。在上一版本中,我們使用的是遞迴演算法來實現,在我們對這個演算法評測時發現,對於擁有成千上萬條記錄的資料庫就不再能勝任了,所以在新的演算法版本中,我們使用了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}