extjs可直接编辑节点的tree

  1. //节点可以编辑的树  
  2. Ext.namespace('demo');  
  3.   
  4. demo = function(){  
  5.    this.init();//初始化函数     
  6. };  
  7.   
  8. Ext.extend(demo,Ext.util.Observable,{  
  9.            
  10.    init:function(){  
  11.       //创建一个简写  
  12.       var Tree = Ext.tree;  
  13.         
  14.       //添加一个树形面板  
  15.       this.tree = new Tree.TreePanel({  
  16.          el:'tree-panel',//将树形添加到一个指定的div中  
  17.          title:'可编辑的树',  
  18.          autoScroll:true,  
  19.          enableDD:false,//是否支持拖拽效果  
  20.          containerScroll: true,//是否支持滚动条  
  21.          loader:new Ext.tree.TreeLoader({   
  22.              dataUrl:'tree-edit-test.json'   
  23.            })  
  24.       });  
  25.         
  26.       this.treeEditer = new Tree.TreeEditor(  
  27.          this.tree,  
  28.          {allowBlank: false}  
  29.       );  
  30.         
  31.       //创建一个根节点  
  32.       this.root = new Tree.AsyncTreeNode({     
  33.          text: 'root',     
  34.             draggable:false,     
  35.             id:'source'     
  36.          });     
  37.       //为tree设置根节点  
  38.       this.tree.setRootNode(this.root);  
  39.       //渲染树形  
  40.       this.tree.render();     
  41.          this.root.expand(true);   
  42.         
  43.         
  44.       /* 
  45.          为创建的treeEditer添加事件 
  46.          有两个事件最为常用,一个为beforestartedit另一个为complete 
  47.          从名字就可以看出,beforestartedit事件是在编辑前的事件,因此可以通过它来判断那些节点可以编辑那些不可以。 
  48.          complete为编辑之后的事件,在这里面可以添加很多事件,比如添加一个Ext.Ajax向后台传送修改的值等等。 
  49.       */  
  50.       this.treeEditer.on("beforestartedit"function(treeEditer){  
  51.          var tempNode = treeEditer.editNode;//将要编辑的节点  
  52.          if(tempNode.isLeaf()){  
  53.             return true;  
  54.          }else{  
  55.             return false;     
  56.          }  
  57.        });  
  58.   
  59.        this.treeEditer.on("complete"function(treeEditer){  
  60.            alert(treeEditer.editNode.text);  
  61.        });  
  62.         
  63.         
  64.    }  
  65.            
  66. });  
  67.   
  68. //实例化主程序类  
  69. Ext.BLANK_IMAGE_URL = 'images/public/s.gif"';  
  70.   
  71. Ext.onReady(function(){  
  72.    var myDemo = new demo(); //实例化                                
  73. });  
  74.   
  75. html:  
  76.   
  77. <html xmlns="http://www.w3.org/1999/xhtml">  
  78. <head>  
  79. <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />  
  80. <title>节点可以编辑的树</title>  
  81. <link rel="shortcut icon" href="favicon.ico" />  
  82. <link rel="Bookmark" href="favicon.ico" />  
  83. <link href="css/default.css" rel="stylesheet" type="text/css">  
  84. <!--导入prototype文件 -->  
  85. <script language="javascript" type="text/javascript" src="js/prototype.js"></script>  
  86. </head>  
  87.   
  88. <body>  
  89. <!--loading加载 -->  
  90. <div id="loadingTab">  
  91.     <div class="loading-indicator">  
  92.         <img src="images/public/loader.gif" width="32" height="32" style="margin-right:8px;float:left;vertical-align:top;"/>  
  93.         <a href="index.html">可编辑的树练习</a> -  
  94.         <span id="loading-yfo"><a href="http://yfoffice.net.cn" target="_blank">忆凡工作室</a></span><br />  
  95.         <span id="loading-msg">加载样式表和图片...</span>  
  96.     </div>  
  97. </div>  
  98. <br>  
  99. <h1>动态-异步tree的综合练习</h1>  
  100. <div id="tree-panel" style=" margin:30px; width:300px; height:400px"></div>  
  101.   
  102. <link href="js/ext-2.0/resources/css/ext-all.css" rel="stylesheet" type="text/css">  
  103. <script type="text/javascript">$('loading-msg').innerHTML = '正在加载JSUI组建...';</script>  
  104.   
  105. <script language="javascript" type="text/javascript" src="js/ext-2.0/adapter/ext/ext-base.js"></script>  
  106. <script language="javascript" type="text/javascript" src="js/ext-2.0/ext-all.js"></script>  
  107. <script language="javascript" type="text/javascript" src="js/ext-2.0/source/locale/ext-lang-zh_CN.js"></script>  
  108.   
  109.   
  110. <script type="text/javascript">$('loading-msg').innerHTML = '正在初始化...';</script>  
  111.   
  112. <script type="text/javascript" src="js/tree-edit-test.js"></script>  
  113. <script type="text/javascript">  
  114.    $('loading-msg').innerHTML = '初始化完毕!!';  
  115.    Ext.get('loadingTab').fadeOut({remove: true});//让加载标签消失        
  116. </script>  
  117. </body>  
  118. </html>  

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值