第一次接触extjs,要做一个树形表格并且实现排序、增删列等,下载了官网上extjs-4.0.0的treegrid工具,部署到tomcat上能显示表格,但是无法加载官网提供的treegrid.json,有什么好的改进没有。感谢!
官网treegrid.js
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: 'treegrid0.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: Ext.getBody(),
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
}]
});
});
官网数据treegrid.json
{"text":".","children": [
{
task:'Project: Shopping',
duration:13.25,
user:'Tommy Maintz',
iconCls:'task-folder',
expanded: true,
children:[{
task:'Housewares',
duration:1.25,
user:'Tommy Maintz',
iconCls:'task-folder',
children:[{
task:'Kitchen supplies',
duration:0.25,
user:'Tommy Maintz',
leaf:true,
iconCls:'task'
},{
task:'Groceries',
duration:.4,
user:'Tommy Maintz',
leaf:true,
iconCls:'task'
},{
task:'Cleaning supplies',
duration:.4,
user:'Tommy Maintz',
leaf:true,
iconCls:'task'
},{
task: 'Office supplies',
duration: .2,
user: 'Tommy Maintz',
leaf: true,
iconCls: 'task'
}]
}, {
task:'Remodeling',
duration:12,
user:'Tommy Maintz',
iconCls:'task-folder',
expanded: true,
children:[{
task:'Retile kitchen',
duration:6.5,
user:'Tommy Maintz',
leaf:true,
iconCls:'task'
},{
task:'Paint bedroom',
duration: 2.75,
user:'Tommy Maintz',
iconCls:'task-folder',
children: [{
task: 'Ceiling',
duration: 1.25,
user: 'Tommy Maintz',
iconCls: 'task',
leaf: true
}, {
task: 'Walls',
duration: 1.5,
user: 'Tommy Maintz',
iconCls: 'task',
leaf: true
}]
},{
task:'Decorate living room',
duration:2.75,
user:'Tommy Maintz',
leaf:true,
iconCls:'task'
},{
task: 'Fix lights',
duration: .75,
user: 'Tommy Maintz',
leaf: true,
iconCls: 'task'
}, {
task: 'Reattach screen door',
duration: 2,
user: 'Tommy Maintz',
leaf: true,
iconCls: 'task'
}]
}]
},{
task:'Project: Testing',
duration:2,
user:'Core Team',
iconCls:'task-folder',
children:[{
task: 'Mac OSX',
duration: 0.75,
user: 'Tommy Maintz',
iconCls: 'task-folder',
children: [{
task: 'FireFox',
duration: 0.25,
user: 'Tommy Maintz',
iconCls: 'task',
leaf: true
}, {
task: 'Safari',
duration: 0.25,
user: 'Tommy Maintz',
iconCls: 'task',
leaf: true
}, {
task: 'Chrome',
duration: 0.25,
user: 'Tommy Maintz',
iconCls: 'task',
leaf: true
}]
},{
task: 'Windows',
duration: 3.75,
user: 'Darrell Meyer',
iconCls: 'task-folder',
children: [{
task: 'FireFox',
duration: 0.25,
user: 'Darrell Meyer',
iconCls: 'task',
leaf: true
}, {
task: 'Safari',
duration: 0.25,
user: 'Darrell Meyer',
iconCls: 'task',
leaf: true
}, {
task: 'Chrome',
duration: 0.25,
user: 'Darrell Meyer',
iconCls: 'task',
leaf: true
},{
task: 'Internet Exploder',
duration: 3,
user: 'Darrell Meyer',
iconCls: 'task',
leaf: true
}]
},{
task: 'Linux',
duration: 0.5,
user: 'Aaron Conran',
iconCls: 'task-folder',
children: [{
task: 'FireFox',
duration: 0.25,
user: 'Aaron Conran',
iconCls: 'task',
leaf: true
}, {
task: 'Chrome',
duration: 0.25,
user: 'Aaron Conran',
iconCls: 'task',
leaf: true
}]
}]
}
]}
问题补充:akunyan 写道
是服务器不支持json格式文件解析,我的也这样,改为js格式就可以了。
现在可以了,在tomcat上部署好就能读取数据了,现在又遇到的问题是读取数据的问题,
var store = Ext.create('Ext.data.TreeStore', {
model: 'Task',
proxy: {
type: 'ajax',
//the store will get the content from the .json file
url: 'treegrid0.json'
},
folderSort: true
});
提交方式是ajax,我只要打开包含这个treegrid的页面就会加载数据,因为现在又treegrid.json这个文件所以能加载,而实际情况是打开页面时不加载,查询结果出来以后再加载。对proxy和url不是很理解。能指导一下吗
相关推荐
标题与描述中的关键词"MyEclipse 8.5 + Spket 1.6.18 + ExtJS ext-4.0.0"揭示了这是一篇关于如何在MyEclipse 8.5集成开发环境中配置并使用Spket插件以及ExtJS 4.0.0前端框架的文章。这一组合为开发者提供了强大的...
ext-4.0.0.jsb2 使用插件开发extjs会用到的库文件 在eclipse安装spket时会用到这个jsb2库文件,当前ext js已经不提供官方的jsb2文件,这是第三方的jsb2文件。
为支持extjs4安装spket插件所需要的文件ext-4.0.0.jsb
"ext-4.0.0jar.src"是一个与Ext JS框架相关的源代码压缩包,源自其4.0.0版本。Ext JS是一个广泛使用的JavaScript库,用于构建富客户端Web应用程序,它提供了丰富的用户界面组件和数据绑定功能。这个特定的版本...
在这个“Extjs treeGrid 本地数据 例子”中,我们将探讨如何使用ExtJS创建一个本地数据驱动的TreeGrid,并了解相关的核心概念和技术。 首先,我们要理解TreeGrid的基础构成。TreeGrid由行(rows)组成,这些行可以...
一个extjs的OA项目 extjs-OA extjs-oaextjs-OA extjs-oa
extjs-620-docs官方文档extjs-620-docs官方文档extjs-620-docs官方文档
EXTJS4.X api chm格式以及ext-4.0.0.jsb2提示包等等一些要用的方便你我
ExtJS是一种强大的JavaScript库,专为构建富互联网应用程序(RIA)而设计,尤其适用于创建复杂的、数据驱动的前端用户界面。在"extjs-4.1.1.zip"这个压缩包中,包含了ExtJS框架的4.1.1版本,这是一个成熟的版本,...
在"Extjs4的TreeGrid例子"这个主题中,我们将深入探讨TreeGrid的各种特性,以及如何在实际项目中应用这些示例。 1. **多语言支持**:描述中提到的"多语言"功能在ExtJS 4中通常通过i18n(国际化)实现。开发人员可以...
extjs-basex.js extjs-basex.js extjs-basex.js
在实际开发中,为了使用 "extjs-theme-bootstrap",你需要将主题的 CSS 引入到你的 EXTJS4 应用程序中,并可能需要调整部分组件配置以确保与新主题兼容。同时,如果需要自定义主题,可以通过修改 Sass 文件来实现,...
Ext是一个用jscript(javascript)所写的一个ajax框架(我想大家都知道什么是ajax了吧,假想你已经知道,那我就不说了).而javascript也是更知道它的概念了,就更不用说了吧,好,那就也不说了.什么是Ext呢,结合javascript和...
TreeGrid是ExtJS中的一个组件,结合了树形视图和表格的优点,可以用来展示层次结构的数据并支持数据的排序、筛选和操作。在本实例中,我们关注的是如何利用ExtJS4实现一个TreeGrid来创建一个report报表。 首先,...
extjs-4.1.1 ExtJs所有文档及库文件,在官网下的,这个版本很好,放在这方便大家下载!
extjs-cmd 脚手架安装包2 extjs-cmd 脚手架安装包3 extjs-cmd 脚手架安装包4
extJs-5.0.1-gpl附带sencha cmd安装程序、ruby编译包(分为32位和64位)和教程,一共四部分
这个"ExtJs-3.2.0.rar"压缩包包含了ExtJS 3.2.0版本的所有资源,允许开发者利用其强大的组件库和丰富的功能来创建交互式、数据驱动的网页应用。 1. **ExtJS框架介绍** ExtJS提供了一套完整的UI组件,包括表格、树...
4. **存储(Store)**:在ExtJS中,Store是数据集的容器,它可以连接到数据源,如服务器端API,管理数据的加载、排序、过滤和更新。在这个例子中,Store会连接到服务器,请求用户数据,并将其绑定到GridPanel的模型...
这篇博客文章"Extjs--DWR做的动态树"可能探讨了如何利用这两者结合来创建动态的树形数据结构,这种结构在很多Web应用中用于展示层次化的信息,比如文件系统、组织结构或导航菜单。 动态树在Web应用中是交互式的,...