在以前的web專案中使用選單結構是以樹形結構構件,其中jquery中treeviewer已經ext中樹形結構等。無論哪種樹形結構都一樣的。
樹形結構的乙個一般的節點必須有名稱以及乙個可能的父類節點。乙個父類節點有乙個名稱,可能的父類節點。可能的一系列子節點。於是乙個點檢的模型出來來。
子節點模型:
class treeobject implements iadaptable
public string getname()
public void setparent(treeparent parent)
public treeparent getparent()
public string tostring()
public object getadapter(class key)
}父節點模型:
class treeparent extends treeobject
public void addchild(treeobject child)
public void removechild(treeobject child)
public treeobject getchildren()
public boolean haschildren()
}在根據相關的父子節點的關係,通過遞迴之類的演算法構建相關的父子關係即可。
關於乙個樹形結構對於資料庫的查詢
通常我們在做頁面樹查詢資料庫的時候,通過對一張表的重複遞迴,可以查詢出表中的所有分類,這種方法確實可以遞迴出表中的所有節點分類,但是不斷的遞迴會造成不必要的一些問題,這裡有乙個比較經典的關於對資料庫中,樹狀結構的查詢,如下 表的建立 create table category id varchar ...
記乙個遞迴封裝樹形結構
最近改了個小bug,原有的資料字典查詢,封裝成樹的遞迴寫的有問題,就自己寫了乙個,解決這種遞迴的思考是 分析樹形結構 找到父子層之間的關聯關係 根據關係編寫遞迴巢狀條件。很簡單也很實用,遂總結如下 擷取表結構如下,關聯id 和pid 父id 其中樹最外層pid為0 邏輯 public list ge...
關於樹形結構的表與另外乙個表的連線查詢
建立單位資訊表i sys unitinfo ifexists select name from sysobjects where name i sys unitinfo drop table i sys unitinfo gocreate table i sys unitinfo ui id int...