java樹和jQuery樹的運用
一、java
後臺查詢到需要使用的tree數資料,然後分局tree的格式進行封裝,然後直接使用ztree外掛進行繫結。
資料庫查詢 得到表資料行的集合
// 模擬資料庫查詢 得到表資料行的集合
public List<Map<String,Object>> getRows(){
List<Map<String,Object>> dataList = new ArrayList<Map<String,Object>>();
Map<String,Object > row = new HashMap<String,Object>();
row.put("id","1");
row.put("username","玄清");
row.put("invitationid","0");
dataList.add(row);
row = new HashMap<String,Object>();
row.put("id","2");
row.put("username","張三");
row.put("invitationid" ,"1");
dataList.add(row);
row = new HashMap<String,Object>();
row.put("id","3");
row.put("username","李四");
row.put("invitationid","2");
dataList.add(row);
row = new HashMap<String,Object>();
row.put("id","4");
row.put("username" ,"王五");
row.put("invitationid","3");
dataList.add(row);
row = new HashMap<String,Object>();
row.put("id","5");
row.put("username","張小明");
row.put("invitationid","4");
dataList.add(row);
row = new HashMap<String,Object>();
row.put("id","6");
row.put("username","趙六");
row.put("invitationid","1");
dataList.add(row);
return dataList;
}
將查詢到的資料進行tree封裝
// 服務端拼接字串,也可直接返回陣列然後在瀏覽器端拼接字串
public String assembly(List<Map<String,Object>> paramList){
StringBuffer resultStr = new StringBuffer();
resultStr.append("[");
for (Map<String,Object> obj: paramList) {
// resultStr.append("{'id':" + obj.get("id")+",'pId':" + obj.get("invitationid")+",'name':"+obj.get("username")+"}");
resultStr.append("{");
resultStr.append("'id':'" + obj.get("id")+"',");
if (null == obj.get("invitationid") || "0".equals(obj.get("invitationid")))// 僅展開頂級節點
resultStr.append("'pId':'0', open:'true',");
else
resultStr.append("'pId':'" + obj.get("invitationid")+"', open:'true',");// 展開子級節點
resultStr.append("'name':'" + obj.get("username")+"'");
resultStr.append("},");
}
// 去除最後一個逗號
resultStr.deleteCharAt(resultStr.length()-1);
resultStr.append("]");
return resultStr.toString();
}
將封裝的tree樹資料在控制檯列印(正式專案將資料返回前端)
// 呼叫方法
public static void main(String[] args) throws Exception{
MenuTest01 mt = new MenuTest01();
List<Map<String,Object>> dataList = mt.getRows();
System.out.println(mt.assembly(dataList));
}
至此java後臺的資料傳輸就已經搞定了。
二、jQuery樹
ztree官方文件:ztree官網
引用樣式
<link rel="stylesheet" href="../../../css/demo.css" type="text/css">
<link rel="stylesheet" href="../../../css/zTreeStyle/zTreeStyle.css" type="text/css">
<script type="text/javascript" src="../../../js/jquery-1.4.4.min.js"></script>
<script type="text/javascript" src="../../../js/jquery.ztree.core.js"></script>
js呼叫ztree
<SCRIPT type="text/javascript">
<!--
var setting = {
data: {
simpleData: {
enable: true
}
},
callback: {
//點選事件,查詢節點詳細資訊
onClick: zTreeOnClick
}
};
function zTreeOnClick(event, treeId, treeNode) {
alert(treeNode.id + ", " + treeNode.name);
};
var serverRetutnData = "[{'id':'1','pId':'0','name':'玄清'},{'id':'2','pId':'1', open:'true','name':'張三'},{'id':'3','pId':'2', open:'true','name':'李四'},{'id':'4','pId':'3', open:'true','name':'王五'},{'id':'5','pId':'4', open:'true','name':'張小明'},{'id':'6','pId':'1', open:'true','name':'趙六'}]";
serverRetutnData = eval('('+serverRetutnData+')'); // eval js函式 將字串轉換為陣列 具體使用時請考慮瀏覽器相容性
$(document).ready(function(){
$.fn.zTree.init($("#treeDemo2"), setting, serverRetutnData);
});
//-->
</SCRIPT>
html程式碼
<div class="content_wrap">
<div class="zTreeDemoBackground left">
<ul id="treeDemo2" class="ztree"></ul>
</div>
</div>
頁面顯示結果
點選效果
相關推薦
java樹和jQuery樹的運用
一、java 後臺查詢到需要使用的tree數資料,然後分局tree的格式進行封裝,然後直接使用ztree外掛進行繫結。 資料庫查詢 得到表資料行的集合 // 模擬資料庫查詢 得到
Java建立二叉排序樹和平衡樹
建立二叉排序樹,是從前往後掃描陣列,可以不保證高度最小,從頭節點依次向下尋找要插入的適當位置。 建立平衡樹,可以先將陣列進行排序,然後選取中間元素作為根節點,陣列中間元素左邊的元素為根節點的左子樹,陣列中間右邊的元素為根節點的右子樹。 再對右子樹和右子樹選取中間
【資料結構】【Java】B樹和B+樹區別
B樹和B+樹 1. B樹的定義: 1970年,R.Bayer和E.mccreight提出了一種適用於外查詢的樹,它是一種平衡的多叉樹,稱為B樹,其定義如下: 一棵m階的B樹滿足下列條件: ⑴ 樹中每個結點至多有m個孩子; ⑵ 除根結點和葉子結點
深入解析瀏覽器的幕後工作原理(三) 呈現樹和 DOM 樹的關系
文本 一行 出現 src 格式 關於 放置 顯示 關系 呈現樹和 DOM 樹的關系 呈現器是和 DOM 元素相對應的,但並非一一對應。非可視化的 DOM 元素不會插入呈現樹中,例如“head”元素。如果元素的 display 屬性值為“none”,那麽也不會顯示在呈現
B-樹和B+樹的應用:數據搜索和數據庫索引
深度 出現 通過 都在 def 查找樹 兩個指針 屬性排序 n+1 B-樹 1 .B-樹定義 B-樹是一種平衡的多路查找樹,它在文件系統中很有用。 定義:一棵m 階的B-樹,或者為空樹,或為滿足下列特性的m 叉樹:⑴樹中每個結點至多有m 棵子樹;⑵若根結點不是葉子結點,
B樹和B+樹的總結
href 直接插入 也有 新的 img 結束 提高 通過 我們 https://www.cnblogs.com/George1994/p/7008732.html B樹和B+樹的總結 B樹 為什麽要B樹 磁盤中有兩個機械運動的部分,分別是盤片旋轉和磁臂
B樹和B+樹的插入、刪除圖文詳解
留言 使用 結構 調整 -i 詳細 樹的高度 目的 根據 簡介:本文主要介紹了B樹和B+樹的插入、刪除操作。寫這篇博客的目的是發現沒有相關博客以舉例的方式詳細介紹B+樹的相關操作,由於自身對某些細節也感到很迷惑,通過查閱相關資料,對B+樹的操作有所頓悟,寫下這篇博客以做記錄
B樹和B+樹
樹的高度 需要 比較 詳細 細節 子類 是我 導致 相關 B樹和B+樹 簡介:本文主要介紹了B樹和B+樹的插入、刪除操作。寫這篇博客的目的是發現沒有相關博客以舉例的方式詳細介紹B+樹的相關操作,由於自身對某些細節也感到很迷惑,通過查閱相關資料,對B+樹的操作有所頓悟,寫下這
B-樹和B+樹的應用
例如 討論 計算 相關信息 net 基本上 ref CA roc 1 .B-樹定義 B-樹是一種平衡的多路查找樹,它在文件系統中很有用。 定義:一棵m 階的B-樹,或者為空樹,或為滿足下列特性的m 叉樹:⑴樹中每個結點至多有m 棵子樹;⑵若根結點不是葉子結點,則至少有兩
B樹, B-樹,B+樹,和B*樹的區別
cal 查詢 空間 復制 進入 使用 鏈表 有關 但是 B樹: B樹的搜索,從根結點開始,如果查詢的關鍵字與結點的關鍵字相等,那麽就命中; 否則,如果查詢關鍵字比結點關鍵字小,就進入左兒子;如果比結點關鍵字大,就進入 右兒子;如果左兒子或右兒子的指針為空,則報告找不到相應的
子集樹和排列樹
子集樹 當所給的問題是從n個元素的集合S中找出滿足某種性質的子集時,相應的解空間稱為子集樹。比如,01揹包問題就是子集樹。這類問題通常有2^n個葉子節點,總節點個數是2^(n+1)-1。遍歷子集樹的任何演算法都需要 O(2^n)的時間。 選取數字: #include <stdio.h&g
B-樹和B+樹的應用 資料搜尋和資料庫索引
分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!http://blog.csdn.net/jiangjunshow 也歡迎大家轉載本篇文章。分享知識,造福人民,實現我們中華民族偉大復興!  
多叉樹——B樹和B+樹
目錄 1 介紹 2 B樹 2.1 B樹的定義 2.2 B樹的查詢 2.3 B樹的插入 2.4 B樹的刪除 2.5 B樹的應用 3 B+樹 3.1 定義 3.2 B+樹的插入 3.3 B+樹的刪除 1 介紹 樹家族是為了實現方便
字首樹( 又名:TRIE樹、單詞查詢樹、字典樹) 和 字尾樹(Suffix樹)
概念 字首樹:將海量字串儲存在一棵樹中。 字尾樹:將一個字串分解成一棵樹。 字首樹 節點的結構體: struct trieNode { bool isEnd;//是否可以作為字串的終結節點 trieNode *child[26]; } 字首樹:
【資料結構學習筆記】二叉樹和其他樹
基礎定義 一個樹t是一個非空的有限元素的集合,其中一個元素為根(root),其餘的元素(如果有的話)組成t的子樹(subtree) 樹的另一常用術語為級(level)。樹根是1級,其孩子(如果有)是2級,孩子的孩子是3級,等等。 一棵樹的高度(height)或深度(de
深入理解資料庫索引採用B樹和B+樹的原因
前面幾篇關於資料庫底層磁碟檔案讀取,資料庫索引實現細節進行了深入的研究,但是沒有串聯起來的講解為什麼資料庫索引會採用B樹和B+樹而不是其他的資料結構,例如平衡二叉樹、連結串列等,因此,本文打算從資料庫檔案儲存以及讀取說起,講解資料庫索引的由來。
演算法班筆記 第五章 二叉樹和基於樹的DFS
第五章 二叉樹和基於樹的DFS 在這一章節的學習中,我們將要學習一個數據結構——二叉樹(Binary Tree),和基於二叉樹上的搜尋演算法。 在二叉樹的搜尋中,我們主要使用了分治法(Divide Conquer)來解決大部分的問題。之所以大部分二叉樹的問題可以使用分治法
字典樹-字首樹和字尾樹
1 引言 今天主要看的是樹中的兩個比較重要的資料結構——字首樹和字尾樹。在此之前,先來看兩個問題。(參考部落格:從Trie樹(字典樹)談到字尾樹) 1.1 問題1 一個文字檔案,大約有一萬行,每行一個詞,要求統計出其中最頻繁出現的前10個詞,請給出思想,給出
經典資料結構 :B樹和B+樹詳細解析
維基百科對B樹的定義為“在電腦科學中,B樹(B-tree)是一種樹狀資料結構,它能夠儲存資料、對其進行排序並允許以O(log n)的時間複雜度執行進行查詢、順序讀取、插入和刪除的資料結構。B樹,概括來說是一個節點可以擁有多於2個子節點的二叉查詢樹。與自平衡二叉查詢樹不同,
【機器學習筆記27】CART演算法-迴歸樹和分類樹
基本概念 分類和迴歸樹(classification and regression tree, CART) 是應用廣泛的決策樹學習方法,由特徵選擇、樹的生成和剪枝組成,既可以用做分類也可以用作迴歸。 迴歸樹 迴歸樹的定義 假設X和Y分別作為輸入和輸出變數,那麼