Extjs4 Treegrid 使用心得分享(经验篇)


Posted in Javascript onJuly 01, 2013

最近调试EXTJS 4的treegrid实例,看了很多水友的文章,以及官方的demo, 没一个可靠的,全都无法显示出来。像对于我们习惯用C++的coder来说,EXTJS简直就是一群无政府土匪来维护的,官网上连个搜索框都没有,找资料基本靠遍历,还是人工的。

使用treegrid,需要在调用页面的head中加载以下几个文件:

<link rel="stylesheet" type="text/css" href="css/ext-all.css"> 
<script type="text/javascript" src="ext-all.js"></script> 
<script type="text/javascript" src="treegrid.js"></script>

然后在页面的body中写上一个div
 <div id="tree-example"></div>

以上官方就这么写的,BUT,蛋疼的是,JS里没有改,不改就没法运行成功。把treegrid.js中的renderto,改成我们的div的ID就行了。

记得把json数据文件和css文件等拷贝到调用目录下。
完成的treegrid.js代码为:

/* 
This file is part of Ext JS 4 
Copyright (c) 2011 Sencha Inc 
Contact: http://www.sencha.com/contact 
GNU General Public License Usage 
This file may be used under the terms of the GNU General Public License version 3.0 as published by the Free Software Foundation and appearing in the file LICENSE included in the packaging of this file. Please review the following information to ensure the GNU General Public License version 3.0 requirements will be met: http://www.gnu.org/copyleft/gpl.html. 
If you are unsure which license is appropriate for your use, please contact the sales department at http://www.sencha.com/contact. 
*/ 
Ext.require([ 
'Ext.data.*', 
'Ext.grid.*', 
'Ext.tree.*' 
]); 
Ext.onReady(function() { 
//we want to setup a model and store instead of using dataUrl 
Ext.define('Task', { 
extend: 'Ext.data.Model', 
fields: [ 
{name: 'task', type: 'string'}, 
{name: 'user', type: 'string'}, 
{name: 'duration', type: 'string'} 
] 
}); 
var store = Ext.create('Ext.data.TreeStore', { 
model: 'Task', 
proxy: { 
type: 'ajax', 
//the store will get the content from the .json file 
url: 'treegrid.json' 
}, 
folderSort: true 
}); 
//Ext.ux.tree.TreeGrid is no longer a Ux. You can simply use a tree.TreePanel 
var tree = Ext.create('Ext.tree.Panel', { 
title: 'Core Team Projects', 
width: 500, 
height: 300, 
renderTo: 'tree-example',//2B的官方和SV党们,这里竟然是getbody,bo你妹啊。 
collapsible: true, 
useArrows: true, 
rootVisible: false, 
store: store, 
multiSelect: true, 
singleExpand: true, 
//the 'columns' property is now 'headers' 
columns: [{ 
xtype: 'treecolumn', //this is so we know which column will show the tree 
text: 'Task', 
flex: 2, 
sortable: true, 
dataIndex: 'task' 
},{ 
//we must use the templateheader component so we can use a custom tpl 
xtype: 'templatecolumn', 
text: 'Duration', 
flex: 1, 
sortable: true, 
dataIndex: 'duration', 
align: 'center', 
//add in the custom tpl for the rows 
tpl: Ext.create('Ext.XTemplate', '{duration:this.formatHours}', { 
formatHours: function(v) { 
if (v < 1) { 
return Math.round(v * 60) + ' mins'; 
} else if (Math.floor(v) !== v) { 
var min = v - Math.floor(v); 
return Math.floor(v) + 'h ' + Math.round(min * 60) + 'm'; 
} else { 
return v + ' hour' + (v === 1 ? '' : 's'); 
} 
} 
}) 
},{ 
text: 'Assigned To', 
flex: 1, 
dataIndex: 'user', 
sortable: true 
}] 
}); 
});
Javascript 相关文章推荐
在jQuery 1.5中使用deferred对象的代码(翻译)
Mar 10 Javascript
一个可拖拽列宽表格实例演示
Nov 26 Javascript
简单的Jquery全选功能
Nov 07 Javascript
javascript动态修改Li节点值的方法
Jan 20 Javascript
JS实现5秒钟自动封锁div层的方法
Feb 20 Javascript
jQuery中animate动画第二次点击事件没反应
May 07 Javascript
javascript常用经典算法详解
Jan 11 Javascript
jQuery插件HighCharts绘制简单2D柱状图效果示例【附demo源码】
Mar 21 jQuery
bootstrap 设置checkbox部分选中效果
Apr 20 Javascript
微信小程序自定义可滑动顶部TabBar选项卡实现页面切换功能示例
May 14 Javascript
javascript利用canvas实现鼠标拖拽功能
Jul 23 Javascript
JS+CSS实现炫酷光感效果
Sep 05 Javascript
原生javascript兼容性测试实例
Jul 01 #Javascript
面向对象继承实例(a如何继承b问题)(自写)
Jul 01 #Javascript
批量实现面向对象的实例代码
Jul 01 #Javascript
js原生appendChild的bug解决心得分享
Jul 01 #Javascript
Jquery时间验证和转换工具小例子
Jul 01 #Javascript
JS 两日期相减,获得天数的小例子(兼容IE,FF)
Jul 01 #Javascript
js函数排序的实例代码
Jul 01 #Javascript
You might like
使用php判断浏览器的类型和语言的函数代码
2013/02/28 PHP
递归删除一个节点以及该节点下的所有节点示例
2014/03/19 PHP
浅析THINKPHP的addAll支持的最大数据量
2015/02/03 PHP
php实现中文字符截取防乱码方法汇总
2015/04/29 PHP
php 利用socket发送HTTP请求(GET,POST)
2015/08/24 PHP
PHP实现的Redis多库选择功能单例类
2017/07/27 PHP
JQuery的ajax基础上的超强GridView展示
2009/09/18 Javascript
javascript Array数组对象的扩展函数代码
2010/05/22 Javascript
jQuery选择器简明总结(含用法实例,一目了然)
2014/04/25 Javascript
基于jquery和svg实现超炫酷的动画特效
2014/12/09 Javascript
在Js页面通过POST传递参数跳转到新页面详解
2017/08/25 Javascript
使用gulp构建前端自动化的方法示例
2018/12/25 Javascript
浅谈Node 异步IO和事件循环
2019/05/05 Javascript
原生JavaScript实现留言板
2021/01/10 Javascript
[02:40]DOTA2殁境神蚀者 英雄基础教程
2013/11/26 DOTA
[42:39]老党炸弹人试玩视频
2014/09/03 DOTA
用smtplib和email封装python发送邮件模块类分享
2014/02/17 Python
python实现的udp协议Server和Client代码实例
2014/06/04 Python
Python对list列表结构中的值进行去重的方法总结
2016/05/07 Python
Python中执行存储过程及获取存储过程返回值的方法
2017/10/07 Python
numpy返回array中元素的index方法
2018/06/27 Python
pycharm配置pyqt5-tools开发环境的方法步骤
2019/02/11 Python
python从入门到精通 windows安装python图文教程
2019/05/18 Python
Python中实现输入超时及如何通过变量获取变量名
2020/01/18 Python
Booking.com美国:全球酒店预订网站
2017/04/18 全球购物
荷兰照明、灯具和配件网上商店:dmlights
2019/08/25 全球购物
得到Class的三个过程是什么
2012/08/10 面试题
介绍一下内联、左联、右联
2013/12/31 面试题
市场部专员岗位职责
2013/11/30 职场文书
融资租赁计划书
2014/04/29 职场文书
运动会广播稿200字
2014/10/18 职场文书
2015年见习期工作总结
2014/12/12 职场文书
2015年“我们的节日·重阳节”活动总结
2015/07/29 职场文书
体育教师教学随笔
2015/08/15 职场文书
pytorch 6 batch_train 批训练操作
2021/05/28 Python
python前后端自定义分页器
2022/04/13 Python