Extjs TreePanel API詳解
轉自:http://web.qhwins.com/CSS-JS-XML/2011091312092944999107.html
config定義{ animate : Boolean, containerScroll : Boolean, ddAppendOnly : String, /*很顯然這是api的一個錯誤,treepanel.js中惟一用到它的地方是this.dropZone = new Ext.tree.TreeDropZone(this, this.dropConfig || { ddGroup: this.ddGroup || "TreeDD", appendOnly: this.ddAppendOnly === true }) 只有沒有定義dropConfig才會影響ddconfig的appendOnly,原api說明是 True if the tree should only allow append drops 只有當值為真時才允許以追加的方式接受拖曳*/ ddGroup : String, ddScroll : Boolean, dragConfig : Object, dropConfig : Object, enableDD : Boolean, enableDrag : Boolean, enableDrop : Boolean, //以上引數更應該放在Ext.dd中學習 hlColor : String, //高亮顏色 hlDrop : Boolean //曳入時高亮顯示? lines : Boolean //顯示樹形控制元件的前導線 loader : Ext.tree.TreeLoader //這是個重要的引數,用於方便的構建樹形選單,用於遠端呼叫樹狀資料 pathSeparator : String //默徑分隔符.預設為/ rootVisible : Boolean //根可見?這是個有趣的屬性,因為樹只能有且僅有一個根,當我們需要兩個或更多的"根"時就要用它了 selModel : Boolean /*選擇模式,預設的是一個Ext.tree.DefaultSelectionModel例項,也可以是 Ext.tree.MultiSelectionModel,如果你有興趣,還可以自己定義,當然,它絕對不是一個布林值 另,雖然內建的兩種選擇方式都支援getSelectedNodes和clearSelections() 方法,但treenode中好象只用到的select/unSelecte/isSelected,如果自己繼承寫SelectionModel應該至少 支援這三個方法 */ singleExpand : Boolean //在所有的兄弟節點中只能有一個被展開 屬性 dragZone : Ext.tree.TreeDragZone dropZone : Ext.tree.TreeDropZone root : Node //最重要的也就是這個屬性了 方法 TreePanel( Object config ) 構造 collapseAll() : void expandAll() : void 收起展開所有節點 expandPath( String path, [String attr], [Function callback] ) : void 由path找到節點,展開樹到此節點 getChecked( [String attribute], [TreeNode startNode] ) : Array 返回一個包含所有選中節點的陣列.或者所有選中節點的屬性attribute組成的陣列 getEl() : Element 返回當前TreePanel的容器物件 getLoader() : Ext.tree.TreeLoader 當前所使用的TreeLoader物件 getNodeById( String id ) : Node 由指定的節點id找到節點物件 getRootNode() : Node 得到根節點,同屬性root getSelectionModel() : TreeSelectionModel 得到選擇模式 getTreeEl() : Ext.Element 返回當前tree下面的元素 selectPath( String path, [String attr], [Function callback] ) : void 由path選擇指定的節點,它事實上呼叫的是expandPath用於展開節點物件 setRootNode( Node node ) : Node 設定根節點 事件 append : ( Tree tree, Node parent, Node node, Number index ) beforeappend : ( Tree tree, Node parent, Node node ) beforechildrenrendered : ( Node node ) beforeclick : ( Node node, Ext.EventObject e ) beforecollapsenode : ( Node node, Boolean deep, Boolean anim ) beforeexpandnode : ( Node node, Boolean deep, Boolean anim ) beforeinsert : ( Tree tree, Node parent, Node node, Node refNode ) beforeload : ( Node node ) beforemove : ( Tree tree, Node node, Node oldParent, Node newParent, Number index ) beforenodedrop : ( Object dropEvent ) beforeremove : ( Tree tree, Node parent, Node node ) checkchange : ( Node this, Boolean checked ) click : ( Node node, Ext.EventObject e ) collapsenode : ( Node node ) contextmenu : ( Node node, Ext.EventObject e ) dblclick : ( Node node, Ext.EventObject e ) disabledchange : ( Node node, Boolean disabled ) dragdrop : ( Ext.tree.TreePanel this, Ext.tree.TreeNode node, DD dd, event e ) enddrag : ( Ext.tree.TreePanel this, Ext.tree.TreeNode node, event e ) expandnode : ( Node node ) insert : ( Tree tree, Node parent, Node node, Node refNode )] load : ( Node node ) move : ( Tree tree, Node node, Node oldParent, Node newParent, Number nodedragover : ( Object dragOverEvent ) nodedrop : ( Object dropEvent ) remove : ( Tree tree, Node parent, Node node ) startdrag : ( Ext.tree.TreePanel this, Ext.tree.TreeNode node, event e ) textchange : ( Node node, String text, String oldText ) Ext.tree.TreeNode 樹狀控制元件的節點類,繼承自Ext.data.Node config{ allowChildren : Boolean allowDrag : Boolean allowDrop : Boolean checked : Boolean //無論設為真還是假都會在前面有個選擇框,預設未設定 cls : String disabled : Boolean draggable : Boolean expandable : Boolean expanded : Boolean href : String //超連結 hrefTarget : String icon : String //圖示 iconCls : String isTarget : Boolean //是拖曳的目標? qtip : String //提示 qtipCfg : String // singleClickExpand : Boolean //單擊展開 text : String //文字內容 uiProvider : Function //預設Ext.tree.TreeNodeUI,如果想自己提供ui可以自已再繼承Ext.tree.TreeNodeUI } 屬性 disabled : Boolean text : String ui : TreeNodeUI //此屬性只讀.參見uiProvider 方法 TreeNode( Object/String attributes ) 構造 collapse( [Boolean deep], [Boolean anim] ) : void 收起本節點 collapseChildNodes( [Boolean deep] ) : void 收起子節點 disable() : void enable() : void 禁止允許 ensureVisible() : void 確保所有的父節點都是展開的 expand( [Boolean deep], [Boolean anim], [Function callback] ) : void 展開到當前節點 expand( [Boolean deep], [Boolean anim], [Function callback] ) : void 展開本節點 expandChildNodes( [Boolean deep] ) : void 展開所有的子節點 getUI() : TreeNodeUI 返回ui屬性 isExpanded() : Boolean 當前節點是否展開 isSelected() : Boolean 當前節點是否選擇 select() : void 選擇當前節點 setText( String text ) : void 設定當前節點的文字 toggle() : void 在展開或收起狀態間切換 unselect() : void 取消選擇 事件 beforechildrenrendered : ( Node this ) beforeclick : ( Node this, Ext.EventObject e ) beforecollapse : ( Node this, Boolean deep, Boolean anim ) beforeexpand : ( Node this, Boolean deep, Boolean anim ) checkchange : ( Node this, Boolean checked ) click : ( Node this, Ext.EventObject e ) collapse : ( Node this ) contextmenu : ( Node this, Ext.EventObject e ) dblclick : ( Node this, Ext.EventObject e ) disabledchange : ( Node this, Boolean disabled ) expand : ( Node this ) textchange : ( Node this, String text, String oldText ) Ext.tree.AsyncTreeNode 繼承自Ext.tree.TreeNode,支援非同步建立,很顯然除了多個loader與TreeNode沒什麼區別 config{ loader : TreeLoader } 屬性 loader : TreeLoader 方法 AsyncTreeNode( Object/String attributes ) isLoaded() : Boolean isLoading() : Boolean reload( Function callback ) : void 事件 beforeload : ( Node this ) load : ( Node this ) Ext.tree.TreeNodeUI 為節點輸出而設計,如果想建立自己的ui,應該繼承此類 方法 addClass( String/Array className ) : void 增加樣式類 getAnchor() : HtmlElement 返回<a>元素 getIconEl() : HtmlElement 返回<img>元素 getTextEl() : HtmlNode 返回文字節點 hide() : void 隱藏 isChecked() : Boolean 選中? removeClass( String/Array className ) : void 移除樣式 show() : void[/b][b]