|
YUI.ext中的Tree组件可以用来在页面实现树型布局的效果,包括常见的树型菜单等,那么我们怎样才能生成一个Tree呢,主要有以下四个步骤; 附: * Ext JS Library 1.0 Beta 1 * Copyright(c) 2006-2007, Ext JS, LLC. * licensing@extjs.com * * http://www.extjs.com/license */ var TreeTest = function(){ // shorthand var Tree = Ext.tree; return { init : function(){ // yui-ext tree var tree = new Tree.TreePanel('tree', { animate:true, loader: new Tree.TreeLoader({dataUrl:'get-nodes.txt'}), enableDD:true, containerScroll: true, dropConfig: {appendOnly:true} }); // add a tree sorter in folder mode new Tree.TreeSorter(tree, {folderSort:true}); // set the root node var root = new Tree.AsyncTreeNode({ text: 'yui-ext', draggable:false, // disable root node dragging id:'source' }); tree.setRootNode(root); // render the tree tree.render(); root.expand(false, /*no anim*/ false); //------------------------------------------------------------- // YUI tree var tree2 = new Tree.TreePanel('tree2', { animate:true, //rootVisible: false, loader: new Ext.tree.TreeLoader({ dataUrl:'get-nodes.jsp', baseParams: {lib:'yui'} // custom http params }), containerScroll: true, enableDD:true, dropConfig: {appendOnly:true} }); // add a tree sorter in folder mode new Tree.TreeSorter(tree2, {folderSort:true}); // add the root node var root2 = new Tree.AsyncTreeNode({ text: 'Yahoo! UI Source', draggable:false, id:'yui' }); tree2.setRootNode(root2); tree2.render(); root2.expand(false, /*no anim*/ false); } }; }(); Ext.EventManager.onDocumentReady(TreeTest.init, TreeTest, true); 对应的HTML代码: <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> <title>Drag and Drop between 2 TreePanels</title> <link rel="stylesheet" type="text/css" href="http://www.cnblogs.com/../resources/css/ext-all.css" /> <!-- LIBS --> <script type="text/javascript" src="http://www.cnblogs.com/yui-utilities.js"></script> <script type="text/javascript" src="http://www.cnblogs.com/ext-yui-adapter.js"></script> <!-- ENDLIBS --> <script type="text/javascript" src="http://www.cnblogs.com/ext-all.js"></script> <script type="text/javascript" src="two-trees.js"></script> <!-- Common Styles for the examples --> <link rel="stylesheet" type="text/css" href="../examples.css" /> <style type="text/css"> #tree, #tree2 { float:left; margin:20px; border:1px solid #c3daf9; width:250px; height:300px; overflow:auto; } .folder .x-tree-node-icon{ background:transparent url(../../resources/images/default/tree/folder.gif); } .x-tree-node-expanded .x-tree-node-icon{ background:transparent url(../../resources/images/default/tree/folder-open.gif); } </style> </head> <body> <script type="text/javascript" src="../examples.js"></script><!-- EXAMPLES --> <h1>Drag and Drop betweens two TreePanels</h1> <p>The TreePanels have a TreeSorter applied in "folderSort" mode.</p> <p>Both TreePanels are in "appendOnly" drop mode since they are sorted.</p> <p>Drag along the edge of the tree to trigger auto scrolling while performing a drag and drop.</p> <p>The data for this tree is asynchronously loaded with a JSON TreeLoader.</p> <p>The js is not minified so it is readable. See <a href="two-trees.js">two-trees.js</a>.</p> <div id="tree"></div> <div id="tree2"></div> </body> </html> |
ext的tree学习笔记
2007-11-23 11:08
相关文章: