開發中,資料庫中會存在樹形結構資料。例如:選單、商品分類、前台需要進行分級展示。下面做乙個demo。
以看一下資料庫中這顆樹是怎麼存的:
樹的結構一目了然,這是一棵表示部門的樹。
實體類:
public
class department
public
void setid(string id)
public string getpid()
public
void setpid(string pid)
public string gettext()
public
void settext(string text)
public listgetchildren()
public
void setchildren(listchildren)
} 控制層
用於讀取資料庫中的資料,生成乙個list,該list返回到前台時會轉成json格式的資料,重點需要理解buildtree(),通過遞迴生成這棵樹,基本實現原理是遍歷樹的某一層,獲取每個節點的子節點們(乙個list),然後將它作為父節點的乙個chlidren屬性set進去。
root.get(i).setchildren(children);
}return root;}}
服務層:
介面:public
inte***ce departmentservice
}前台呼叫如下:
$(function() else
}
});
});在頁面上如下顯示:
總結:重點是遞迴的運用。
下面放類似的遞迴實現。
catnode.settext(tbitemcat.gettext());
catnode.setid(tbitemcat.getid());
//遞迴遍歷下一層
catnode.setchildren(getcatlist(tbitemcat.getid()));
resultlist.add(catnode);
//如果是葉子節點
} else
}return resultlist;
}
js陣列轉化成樹結構
話不多說,直接上 吧 1.首先原有的陣列資料let data 2.想要轉換成的資料型別let treedata 3實現轉換的步驟function arraytotree data 3.第一步轉換,建立id和這個元素的鍵值關係,方便一步找到這個元素 比如我想要找到id為1的元素,就需要去遍歷陣列,這樣...
XML的樹結構
xml 文件形成了一種樹結構,它從 根部 開始,然後擴充套件到 枝葉 xml 使用簡單的具有自我描述性的語法 george john reminder don t forget the meeting 第一行是 xml 宣告。它定義 xml 的版本 1.0 和所使用的編碼 iso 8859 1 la...
繪製樹結構
樹的表示方法有雙親表示法 孩子表示法 雙親孩子表示法 孩子兄弟表示法,具體請參考其中前三種基於陣列,最後一種基於鍊錶。我定義的數節點資料結構為 typedef struct treenode treenode,ptreenode 也就是孩子兄弟表示法,附加乙個指向父節點的指標。參考上圖,發現第乙個子...