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 相关文章推荐
javascript 短路法代码精简
Aug 20 Javascript
(跨浏览器基础事件/浏览器检测/判断浏览器)经验代码分享
Jan 24 Javascript
使用jQuery中的when实现多个AJAX请求对应单个回调的例子分享
Apr 23 Javascript
浅谈JavaScript函数节流
Dec 09 Javascript
jQuery使用before()和after()在元素前后添加内容的方法
Mar 26 Javascript
详解React中的组件通信问题
Jul 31 Javascript
bootstrap table实现双击可编辑、添加、删除行功能
Sep 27 Javascript
React教程之封装一个Portal可复用组件的方法
Jan 02 Javascript
使用 Node.js 开发资讯爬虫流程
Jan 07 Javascript
详解JS数值Number类型
Feb 07 Javascript
微信小程序实现文字无限轮播效果
Dec 28 Javascript
vue19 组建 Vue.extend component、组件模版、动态组件 的实例代码
Apr 04 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&amp;mysql 日期操作小记
2012/02/27 PHP
利用PHPExcel实现Excel文件的写入和读取
2017/04/26 PHP
制作特殊字的脚本
2006/06/26 Javascript
表单的一些基本用法与技巧
2006/07/15 Javascript
jquery.bgiframe.js在IE9下提示INVALID_CHARACTER_ERR错误
2013/01/11 Javascript
JS实现文字掉落效果的方法
2015/05/06 Javascript
JS+CSS实现带有碰撞缓冲效果的竖向导航条代码
2015/09/15 Javascript
Clipboard.js 无需Flash的JavaScript复制粘贴库
2015/10/02 Javascript
Underscore源码分析
2015/12/30 Javascript
Bootstrap3制作自己的导航栏
2016/05/12 Javascript
Node.js检测端口(port)是否被占用的简单示例
2016/09/29 Javascript
Node.js利用debug模块打印出调试日志的方法
2017/04/25 Javascript
基于vue 开发中出现警告问题去除方法
2018/01/25 Javascript
解决npm管理员身份install时出现权限的问题
2018/03/16 Javascript
原生JS实现动态加载js文件并在加载成功后执行回调函数的方法
2020/12/30 Javascript
jQuery实现的自定义轮播图功能详解
2018/12/28 jQuery
深入解析koa之中间件流程控制
2019/06/17 Javascript
angular inputNumber指令输入框只能输入数字的实现
2019/12/03 Javascript
[01:01:24]DOTA2上海特级锦标赛A组败者赛 EHOME VS CDEC第三局
2016/02/25 DOTA
利用Pyhton中的requests包进行网页访问测试的方法
2018/12/26 Python
python3操作注册表的方法(Url protocol)
2020/02/05 Python
python如何通过闭包实现计算器的功能
2020/02/22 Python
matplotlib quiver箭图绘制案例
2020/04/17 Python
python 如何快速复制序列
2020/09/07 Python
python编写实现抽奖器
2020/09/10 Python
Django中使用Celery的方法步骤
2020/12/07 Python
美赞臣营养马来西亚旗舰店:Enfagrow马来西亚
2019/07/26 全球购物
面向对象设计的原则是什么
2013/02/13 面试题
酒店辞职信怎么写
2015/02/27 职场文书
幼师辞职信范文大全
2015/05/12 职场文书
校园运动会广播稿
2015/08/19 职场文书
2016元旦主持人开场白
2015/12/03 职场文书
2019年教师节祝福语精选,给老师送上真诚的祝福
2019/09/09 职场文书
节约用水广告语60条
2019/11/14 职场文书
英镑符号 £
2022/02/17 杂记
python开发人人对战的五子棋小游戏
2022/05/02 Python