ExtJS中GroupingStore的使用
来源:互联网 发布:红外光谱数据库 编辑:程序博客网 时间:2024/05/27 21:49
[转载]Ext.data-GroupingStore/JsonStore/SimpleStore
Ext.data.GroupingStore继承自Ext.data.Store,为Store增加了分组功能.其它用法与Store一致,惟一需要注意的是使用GroupingStore时必须指定sortInfo信息
增加了配置属性
groupField : String//用于分组的字段
groupOnSort : Boolean//如果为真,将依排序字段重新分组,默认为假
remoteGroup : Boolean//远程排序
当然也会多一个group方法
groupBy( String field, [Boolean forceRegroup] ) : void
顾名思义都是重新排序用的
下面是个简单的示例
var arr=[ [1, '本', '拉登'], [2, '笨', '拉登'],[3, '笨', '拉灯'] ];
var reader = new Ext.data.ArrayReader(
{id: 0},
[
{name: 'name', mapping: 1},
{name: 'occupation', mapping: 2}
]);
var store=new Ext.data.GroupingStore({
reader:reader,
groupField:'name',
groupOnSort:true,
sortInfo:{field: 'occupation', direction: "ASC"} //使用GroupingStore时必须指定sortInfo信息
});
store.loadData(arr);
//GridPanel以后会讨论,这儿使用它是为了直观的表现GroupingStore
var grid = new Ext.grid.GridPanel({
ds: store,
columns: [
{header: "name", width: 20, sortable: true,dataIndex: 'name'},
{header: "occupation", width: 20,sortable: true, dataIndex: 'occupation'}
],
view: new Ext.grid.GroupingView({
forceFit:true,
groupTextTpl: '{text} ({[values.rs.length]} {[values.rs.length > 1 ? "Items" : "Item"]})'
}),
frame:true,
width: 700,
height: 450,
collapsible: true,
animCollapse: false,
title: 'Grouping Example',
renderTo: 'Div_GridPanel'
});
var reader = new Ext.data.ArrayReader(
{id: 0},
[
{name: 'name', mapping: 1},
{name: 'occupation', mapping: 2}
]);
var store=new Ext.data.GroupingStore({
reader:reader,
groupField:'name',
groupOnSort:true,
sortInfo:{field: 'occupation', direction: "ASC"} //使用GroupingStore时必须指定sortInfo信息
});
store.loadData(arr);
//GridPanel以后会讨论,这儿使用它是为了直观的表现GroupingStore
var grid = new Ext.grid.GridPanel({
ds: store,
columns: [
{header: "name", width: 20, sortable: true,dataIndex: 'name'},
{header: "occupation", width: 20,sortable: true, dataIndex: 'occupation'}
],
view: new Ext.grid.GroupingView({
forceFit:true,
groupTextTpl: '{text} ({[values.rs.length]} {[values.rs.length > 1 ? "Items" : "Item"]})'
}),
frame:true,
width: 700,
height: 450,
collapsible: true,
animCollapse: false,
title: 'Grouping Example',
renderTo: 'Div_GridPanel'
});
Ext.data.JsonStore
也是Store子类,目标是更方便的使用json对象做数据源
构造中多了fields,root,用法如下例所示
/*
这是使用远程对象,返回内容与下面本地对象的data一致
var store=new Ext.data.JsonStore({
url:'jsoncallback.js',
root:'rows',
fields:['id','name','occupation']
});
store.load();
*/
var store=new Ext.data.JsonStore({
data:{ 'results': 2, 'rows': [
{ 'id': 1, 'name': 'Bill', occupation: 'Gardener' },
{ 'id': 2, 'name': 'Ben', occupation: 'Horticulturalist' }
]},
autoLoad:true,
root:'rows',
fields:['id','name','occupation']
})
//目前请先略过gridpanel,以后再说
var grid = new Ext.grid.GridPanel({
ds: store,
columns: [
{header: "id", width: 200, sortable: true,dataIndex: 'id'},
{header: "name", width: 200, sortable: true,dataIndex: 'name'},
{header: "occupation", width: 200,sortable: true, dataIndex: 'occupation'}
],height:350,
width:620,
title:'Array Grid',
renderTo: 'Div_GridPanel'
});
这是使用远程对象,返回内容与下面本地对象的data一致
var store=new Ext.data.JsonStore({
url:'jsoncallback.js',
root:'rows',
fields:['id','name','occupation']
});
store.load();
*/
var store=new Ext.data.JsonStore({
data:{ 'results': 2, 'rows': [
{ 'id': 1, 'name': 'Bill', occupation: 'Gardener' },
{ 'id': 2, 'name': 'Ben', occupation: 'Horticulturalist' }
]},
autoLoad:true,
root:'rows',
fields:['id','name','occupation']
})
//目前请先略过gridpanel,以后再说
var grid = new Ext.grid.GridPanel({
ds: store,
columns: [
{header: "id", width: 200, sortable: true,dataIndex: 'id'},
{header: "name", width: 200, sortable: true,dataIndex: 'name'},
{header: "occupation", width: 200,sortable: true, dataIndex: 'occupation'}
],height:350,
width:620,
title:'Array Grid',
renderTo: 'Div_GridPanel'
});
Ext.data.SimpleStore
从数组对象更方便的创建Store对象,
例
var store=new Ext.data.JsonStore({
data:[
[1, 'Bill', 'Gardener'], [2, 'Ben', 'Horticulturalist']
],
autoLoad:true,
fields:[{name: 'name', mapping: 1},{name:'occupation',mapping:2}]
})
var grid = new Ext.grid.GridPanel({
ds: store,
columns: [
{header: "name", width: 200, sortable: true,dataIndex: 'name'},
{header: "occupation", width: 200,sortable: true, dataIndex: 'occupation'}
],height:350,
width:620,
renderTo: 'Div_GridPanel'
});
data:[
[1, 'Bill', 'Gardener'], [2, 'Ben', 'Horticulturalist']
],
autoLoad:true,
fields:[{name: 'name', mapping: 1},{name:'occupation',mapping:2}]
})
var grid = new Ext.grid.GridPanel({
ds: store,
columns: [
{header: "name", width: 200, sortable: true,dataIndex: 'name'},
{header: "occupation", width: 200,sortable: true, dataIndex: 'occupation'}
],height:350,
width:620,
renderTo: 'Div_GridPanel'
});
- ExtJS中GroupingStore的使用
- groupingstore extjs
- 分组groupingstore的使用
- ExtJs中ArrayStore、SimpleStore、JsonStore、GroupingStore
- ExtJS 3.3 GroupingStore GroupingView 一点点扩展
- ExtJS中TreePanel的使用
- Extjs中PagingToolbar的使用
- Extjs中createDelegate的使用
- ExtJs中Store的使用
- ExtJS中application的使用
- ExtJs 中Viewport的介绍与使用
- EXTJS在使用中遇到的问题
- Extjs中store的简单使用
- Extjs中store分组功能的使用
- ExtJS 中 store 的使用经验
- ExtJs 中Viewport的介绍与使用
- Extjs中async属性的使用
- ExtJs中使用的正则表达式
- 收录一个合并grivView合并同一列中的相同单元格
- SYBASE 12.5 维护手册 1. 基本概念篇
- Flex学习笔记_06 常用属性
- 如何交叉编译strace工具
- 进程间同步(互斥) 以及 同一DLL的不同进程copy共享全局变量
- ExtJS中GroupingStore的使用
- Android开发学习 之 三、Log,DDMS和AVD
- vxworks输入输出
- Android电池状态监听实例1(上)
- 开发中的几个问题
- opengl_纹理过滤
- ASE12.5.4 Error: 2823接着报current process infected with 11的处理
- Ubuntu下gedit打开文本乱码问题的解决方法
- sqldeveloper 没有找到msvcr71.dll因此这个应用程序未能启动