介紹
dhtmlxTree是一個功能豐富的JavaScript樹菜單 它允許您快速添加一個好看的,基於ajax的web頁面的分層樹。
treeview支持在線節點編輯、先進的拖放,三態復選框等等。由於特殊的技巧,這個JavaScript樹控件能夠迅速和有效地加載大數據。
在線Demo事例
在線原文API
特征:
注意,一些功能僅在專業版可用。下面的API說明中 標有pro標識的方法 是專業版本才提供的特性
1.跨瀏覽器兼容性(Chrome,火狐,谷歌,Safari,IE)支持ie6哦
2.支持RTL
3.支持多種數據源格式(XML, JavaScript, JSON, CSV)
4.可在線編輯
5.服務器端集成dhtmlxConnector
6.支持鍵盤方向鍵操作
7.支持多選
8.支持右鍵菜單
9.高級拖放功能
10.與dhtmlxGrid的拖放交互
11.全面的js api
12.動態加載大數據
13.智能xml解析
14.智能渲染大數據樹
15.xml的序列化
16.復選框(兩個/三個州,禁用/隱藏),單選按鈕
17.可定制的外觀
18.無限的用戶節點數據
中文API
方法
| assignKeys(pro) |
用於配置鍵盤導航鍵 |
| attachEvent |
添加自定義事件 |
| changeItemId |
更改某項id |
| clearCut |
取消選中項的剪切 |
| clearSelection(pro) |
取消選擇樹中的項 |
| closeAllItems |
折疊所有節點 |
| closeItem |
折疊一個節點 |
| deleteChildItems |
刪除某節點下的所有的子節點 |
| deleteItem |
刪除一個節點(某節點以及所有子節點) |
| destructor |
刪除樹和清除內存 |
| detachEvent |
刪除自定義事件 |
| disableCheckbox |
禁用復選框 |
| doCut |
剪切選中項 |
| doPaste |
粘貼選中項 |
| editItem |
編輯某項(by id) |
| enableActiveImages |
使圖片能夠點擊或者拖動,默認情況下只有文字才可以 |
| enableAutoSavingSelected(pro) |
在cookie中啟用或者禁用自動保存選擇的節點 |
| enableAutoTooltips(pro) |
開啟節點本文的提示tooltip |
| enableCheckBoxes |
顯示或者隱藏所有復選框 |
| enableContextMenu(pro) |
開啟右鍵菜單 |
| enableDistributedParsing(pro) |
開啟大數據樹的分布解析 (項目項加載部分的部分超時) |
| enableDragAndDrop |
開啟/禁用拖放 |
| enableDragAndDropScrolling |
在拖放操作中啟用/禁用自動滾動 |
| enableHighlighting |
開啟項的文字高亮 (當鼠標移上去的時候) |
| enableIEImageFix |
用背景圖片取代img標簽 來解決ie6下的圖片緩存問題 |
| enableImageDrag |
開啟點擊項的圖標也能夠拖動該項 (默認只有項的文本可以) |
| enableItemEditor |
開啟允許編輯條目的文本 |
| enableKeySearch(pro) |
開啟項可以按關鍵字檢索 |
| enableKeyboardNavigation(pro) |
開啟在樹上可以鍵盤導航 |
| enableLoadingItem(pro) |
開啟/禁用 "loading..." 項 |
| enableMercyDrag(pro) |
開啟拖動的時候不刪除項(復制不移動) |
| enableMultiLineItems(pro) |
開啟文本換行 |
| enableMultiselection(pro) |
開啟多選 |
| enableRTL(pro) |
開啟RLT模式 |
| enableRadioButtons(pro) |
開啟使用單選按鈕 |
| enableSingleRadioMode(pro) |
開啟單選模式 |
| enableSmartCheckboxes(pro) |
開啟智能復選框 |
| enableSmartRendering(pro) |
開啟智能渲染模式 |
| enableSmartXMLParsing(pro) |
啟用/禁用智能xml解析模式 |
| enableTextSigns(pro) |
用文本標志代替圖片的(展開折疊圖標) |
| enableThreeStateCheckboxes |
開啟三態復選框(級聯選中父節點) |
| enableTreeImages |
顯示/隱藏 樹節點icon |
| enableTreeLines |
啟用/禁用 樹的線條樣式 |
| findItem(pro) |
通過文本查找某項, 選中並聚焦 |
| findItemIdByLabel(pro) |
通過文本查找某項 |
| getAllChecked |
返回所有選中的節點id的集合,默認分隔符分隔 |
| getAllCheckedBranches |
返回所有選中的復選框和是三態復選框的節點id的集合,默認分隔符分隔 |
| getAllChildless |
獲取所有子節點id的集合 ,默認分隔符分隔 |
| getAllItemsWithKids |
返回有子節點項的集合,默認分隔符分隔 |
| getAllPartiallyChecked |
返回所有選中的並且是三態復選框的節點id的集合,默認分隔符分隔 |
| getAllSubItems |
返回所有子層次下的子嵌套集合(相對於指定的項) |
| getAllUnchecked |
返回復選框沒有被選擇的節點集合,默認分隔符分隔 |
| getChildItemIdByIndex |
通過index獲取子節點id |
| getDistributedParsingState(pro) |
得到當前狀態分布的解析 |
| getIndexById |
通過id獲取節點在子集合中的下標 |
| getItemColor |
獲取項的顏色 |
| getItemIdByIndex |
通過節點下標獲取節點id |
| getItemImage(pro) |
獲取節點圖片的路徑 |
| getItemParsingState(pro) |
獲取當前項的解析狀態 |
| getItemText |
獲取節點文本 |
| getItemTooltip |
獲取項的 tooltip |
| getLevel |
獲取節點等級 (位置層次結構) |
| getOpenState |
獲取節點開閉的狀態 |
| getParentId |
獲得父節點id |
| getSelectedItemId |
獲取選中節點id |
| getSelectedItemText |
獲取選中節點文本 |
| getSubItems |
返回一級子節點的id集合 |
| getUserData |
獲取用戶數據 |
| getXMLState(pro) |
獲取當前加載xml的狀態 |
| hasChildren |
獲取子節點的數目 |
| insertNewChild |
插入新的子節點 |
| insertNewItem |
插入新項 |
| insertNewNext |
在指定項旁插入新項 |
| isItemChecked |
獲取項的選中狀態 |
| isLocked(pro) |
是否鎖定 鎖定返回true |
| loadCSV |
從csv file文件中加載樹的數據源 |
| loadCSVString |
從csv 字符串中加載樹的數據源 |
| loadJSArray |
從數組對象中加載樹的數據源 |
| loadJSArrayFile |
從數組對象文件中加載樹的數據源 |
| loadJSON |
從json文件中加載樹的數據源 |
| loadJSONObject |
從json對象中加載樹的數據源 |
| loadOpenStates(pro) |
從cookie恢復打開的節點 |
| loadState(pro) |
從cookie中加載樹 |
| loadXML |
從xml文件中加載數據源 |
| loadXMLString |
從xml 字符串中加載數據源 |
| lockItem(pro) |
鎖定或者解鎖某一項 |
| lockTree(pro) |
鎖定樹 |
| makeAllDraggable |
給所有樹節點添加拖放功能 |
| makeDraggable |
添加一個拖放功能到一個html對象中 |
| moveItem |
移動一項(inside of tree) |
| openAllItems |
展開所有節點 |
| openAllItemsDynamic(pro) |
展開目標節點和所有子節點 (the same as openallitems, but works in dynamic trees) |
| openItem |
展開一個節點 |
| openItemsDynamic(pro) |
展開動態加載的樹節點 (加載結束再展開) |
| openOnItemAdded(pro) |
在給一個節點添加子節點后 該節點則成為展開的父節點 |
| preventIECaching |
通過在url中添加隨機值來防止緩存 |
| refreshItem |
從xml中刷新項 |
| refreshItems(pro) |
刷新指定節點 (只更新xml數據源中的指定內容) |
| registerXMLEntity(pro) |
初始化時候替換xml中的實體內容(default are: ampersand, lessthen and greaterthen 運算符) |
| restoreSelectedItem(pro) |
從cookie中恢復選擇的項 |
| saveOpenStates(pro) |
保存打開的節點到cookie |
| saveSelectedItem(pro) |
將選擇項到cookie |
| saveState(pro) |
保存到cookie |
| selectItem |
選擇指定節點 |
| serializeTree(pro) |
序列化成樹的xml格式 |
| serializeTreeToJSON |
序列化成樹的json格式 |
| setCheck |
設置節點的復選框的狀態 |
| setChildCalcHTML(pro) |
設置Cross Signs前綴和后綴的文本符號(默認[]) |
| setChildCalcMode(pro) |
sets children calculation mode |
| setCustomSortFunction(pro) |
設置自定義排序函數 有兩個參數 |
| setDataMode |
設置一個默認的數據傳輸模式 |
| setDragBehavior(pro) |
設置拖放行為 |
| setEditStartAction |
定義了哪些事件必須開始編輯的過程(雙擊或者單擊) |
| setEscapingMode |
設置編碼格式(用於轉義id請求) |
| setIconSize(pro) |
設置icons的尺寸 |
| setIconsPath |
定義圖標icon文件夾的路徑 |
| setImageArrays |
自定義樹的圖片樣式(線,加號,減號) |
| setImagesPath |
定義imgs文件夾的路徑 |
| setItemCloseable |
阻止某項關閉 |
| setItemColor |
設置項文本的顏色 |
| setItemContextMenu(pro) |
為單獨項設置右鍵菜單 |
| setItemImage |
設置項的圖片 |
| setItemStyle |
設置單獨項的樣式 |
| setItemText |
設置一個新節點的文本(可以是html) |
| setItemTopOffset(pro) |
為某項設置頂部偏移 |
| setListDelimeter(pro) |
設置list的分隔符默認 (",") |
| setLockedIcons(pro) |
為 locked 項設置圖標 |
| setSerializationLevel(pro) |
配置xml序列化 |
| setSkin |
設置皮膚 |
| setStdImages |
設置默認圖片節點(之前必須被稱為xml加載) |
| setSubChecked |
設置節點以及所有子節點的復選框狀態 |
| setUserData |
設置目標節點的用戶數據 |
| setXMLAutoLoading |
允許動態加載xml |
| setXMLAutoLoadingBehaviour(pro) |
動態加載 傳到服務器id的數據 |
| showItemCheckbox(pro) |
顯示/隱藏 樹節點的某項的復選框 |
| showItemSign(pro) |
顯示/隱藏 (+/-) 圖標 |
| smartRefreshBranch(pro) |
刷新指定子項 (從服務器獲得xml,添加新節點、刪除未使用的節點) |
| smartRefreshItem(pro) |
刷新指定項 (從服務器獲得xml,添加新節點、刪除未使用的節點) |
| sortTree(pro) |
排序 |
| stopEdit |
停止編輯 |
| updateItem(pro) |
修改項目的屬性 |
事件