Ext-Tree 設計與實現

在項目開發中,我們會經常用到一種數據結構—樹。”樹”這種數據結構名稱的靈感完全來自自然界的樹,在計算機中,樹是倒着長的,根在上,葉子在下。

下面來介紹下,在使用ExtJs進行實際項目開發過程中,怎樣才能構建一顆樹,其中分爲靜態樹和動態異步樹兩種類型。如圖所示

 

一、靜態樹

 

以上TreePanel提供了樹形結構數據的樹形UI展示。添加到TreePanel中的每個TreeNode都可以包含你的程序中需要使用的元數據(metadata),這些數據被包含在它們的 attribute屬性中。

 

這樣一顆簡單的靜態樹型結構就構造完成了。接下來需要實現像ExtJs-Api那樣進行關鍵字的快速檢索,請看下面的代碼。

 

 

 

二、動態異步樹

ExtJs是典型的Ajax框架,下面就來體現下異步加載樹的魅力吧!

首先我們來看下異步樹加載時候特點。使用fireBug對運行過程進行檢測。如圖所示,當每點一個節點,都會進行一次服務器訪問的請求。

 

異步樹前端JS實現過程:

 

異步樹後臺實現過程:

下面主要看下web層的實現代碼,Service、Dao層就不做具體詳解。

 

通過buildTree這個function在服務器端構造出我們想要的樹形結構出來。

注意:(在此我們還需要在數據庫建立一張樹形結構的Table,這個將另外介紹,本節不做過度闡釋)


發佈了14 篇原創文章 · 獲贊 11 · 訪問量 4萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章