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
顾名思义都是重新排序用的

下面是个简单的示例
  
Ext.data-GroupingStore/JsonStore/SimpleStore var  arr = [ [ 1 ' ' ' 拉登 ' ], [ 2 ' ' ' 拉登 ' ],[ 3 ' ' ' 拉灯 ' ] ];
Ext.data-GroupingStore/JsonStore/SimpleStore    
var  reader  =   new  Ext.data.ArrayReader(
Ext.data-GroupingStore/JsonStore/SimpleStore   
{id: 0} ,
Ext.data-GroupingStore/JsonStore/SimpleStore   [
Ext.data-GroupingStore/JsonStore/SimpleStore    
{name: 'name', mapping: 1} ,        
Ext.data-GroupingStore/JsonStore/SimpleStore    
{name: 'occupation', mapping: 2}    
Ext.data-GroupingStore/JsonStore/SimpleStore    ]);
Ext.data-GroupingStore/JsonStore/SimpleStore   
Ext.data-GroupingStore/JsonStore/SimpleStore    
var  store = new  Ext.data.GroupingStore( {
Ext.data-GroupingStore/JsonStore/SimpleStore      reader:reader,
Ext.data-GroupingStore/JsonStore/SimpleStore      groupField:
'name',
Ext.data-GroupingStore/JsonStore/SimpleStore      groupOnSort:
true,
Ext.data-GroupingStore/JsonStore/SimpleStore      sortInfo:
{field: 'occupation', direction: "ASC"} //使用GroupingStore时必须指定sortInfo信息
Ext.data-GroupingStore/JsonStore/SimpleStore
   }
);
Ext.data-GroupingStore/JsonStore/SimpleStore   store.loadData(arr);
Ext.data-GroupingStore/JsonStore/SimpleStore  
Ext.data-GroupingStore/JsonStore/SimpleStore   
// GridPanel以后会讨论,这儿使用它是为了直观的表现GroupingStore
Ext.data-GroupingStore/JsonStore/SimpleStore
    var  grid  =   new  Ext.grid.GridPanel( {
Ext.data-GroupingStore/JsonStore/SimpleStore    ds: store,
Ext.data-GroupingStore/JsonStore/SimpleStore    columns: [
Ext.data-GroupingStore/JsonStore/SimpleStore        
{header: "name", width: 20, sortable: true,dataIndex: 'name'},
Ext.data-GroupingStore/JsonStore/SimpleStore        
{header: "occupation", width: 20,sortable: true, dataIndex: 'occupation'}
Ext.data-GroupingStore/JsonStore/SimpleStore    ],
Ext.data-GroupingStore/JsonStore/SimpleStore    view: 
new Ext.grid.GroupingView({
Ext.data-GroupingStore/JsonStore/SimpleStore        forceFit:
true,
Ext.data-GroupingStore/JsonStore/SimpleStore        groupTextTpl: 
'{text} ({[values.rs.length]} {[values.rs.length > 1 ? "Items" : "Item"]})'
Ext.data-GroupingStore/JsonStore/SimpleStore    }
),
Ext.data-GroupingStore/JsonStore/SimpleStore    frame:
true,
Ext.data-GroupingStore/JsonStore/SimpleStore    width: 
700,
Ext.data-GroupingStore/JsonStore/SimpleStore    height: 
450,
Ext.data-GroupingStore/JsonStore/SimpleStore    collapsible: 
true,
Ext.data-GroupingStore/JsonStore/SimpleStore    animCollapse: 
false,
Ext.data-GroupingStore/JsonStore/SimpleStore    title: 
'Grouping Example',
Ext.data-GroupingStore/JsonStore/SimpleStore    renderTo: 
'Div_GridPanel'
Ext.data-GroupingStore/JsonStore/SimpleStore    }
);
Ext.data-GroupingStore/JsonStore/SimpleStore

Ext.data.JsonStore
也是Store子类,目标是更方便的使用json对象做数据源
构造中多了fields,root,用法如下例所示
Ext.data-GroupingStore/JsonStore/SimpleStore /*
Ext.data-GroupingStore/JsonStore/SimpleStore这是使用远程对象,返回内容与下面本地对象的data一致
Ext.data-GroupingStore/JsonStore/SimpleStorevar store=new Ext.data.JsonStore({
Ext.data-GroupingStore/JsonStore/SimpleStore        url:'jsoncallback.js',
Ext.data-GroupingStore/JsonStore/SimpleStore        root:'rows',
Ext.data-GroupingStore/JsonStore/SimpleStore        fields:['id','name','occupation']
Ext.data-GroupingStore/JsonStore/SimpleStore    });
Ext.data-GroupingStore/JsonStore/SimpleStore    store.load();
Ext.data-GroupingStore/JsonStore/SimpleStore
*/

Ext.data-GroupingStore/JsonStore/SimpleStore    
var  store = new  Ext.data.JsonStore( {
Ext.data-GroupingStore/JsonStore/SimpleStore        data:
'results'2'rows': [
Ext.data-GroupingStore/JsonStore/SimpleStore        
'id'1'name''Bill', occupation: 'Gardener' },
Ext.data-GroupingStore/JsonStore/SimpleStore        
'id'2'name''Ben', occupation: 'Horticulturalist' }
Ext.data-GroupingStore/JsonStore/SimpleStore        ]}
,
Ext.data-GroupingStore/JsonStore/SimpleStore    autoLoad:
true,
Ext.data-GroupingStore/JsonStore/SimpleStore    root:
'rows',
Ext.data-GroupingStore/JsonStore/SimpleStore    fields:[
'id','name','occupation']
Ext.data-GroupingStore/JsonStore/SimpleStore    }
)
Ext.data-GroupingStore/JsonStore/SimpleStore
Ext.data-GroupingStore/JsonStore/SimpleStore    
// 目前请先略过gridpanel,以后再说
Ext.data-GroupingStore/JsonStore/SimpleStore
     var  grid  =   new  Ext.grid.GridPanel( {
Ext.data-GroupingStore/JsonStore/SimpleStore    ds: store,
Ext.data-GroupingStore/JsonStore/SimpleStore    columns: [
Ext.data-GroupingStore/JsonStore/SimpleStore        
{header: "id", width: 200, sortable: true,dataIndex: 'id'},
Ext.data-GroupingStore/JsonStore/SimpleStore        
{header: "name", width: 200, sortable: true,dataIndex: 'name'},
Ext.data-GroupingStore/JsonStore/SimpleStore        
{header: "occupation", width: 200,sortable: true, dataIndex: 'occupation'}
Ext.data-GroupingStore/JsonStore/SimpleStore    ],height:
350,
Ext.data-GroupingStore/JsonStore/SimpleStore      width:
620,
Ext.data-GroupingStore/JsonStore/SimpleStore      title:
'Array Grid',
Ext.data-GroupingStore/JsonStore/SimpleStore      renderTo: 
'Div_GridPanel'
Ext.data-GroupingStore/JsonStore/SimpleStore    }
);
Ext.data-GroupingStore/JsonStore/SimpleStore


Ext.data.SimpleStore
从数组对象更方便的创建Store对象,

Ext.data-GroupingStore/JsonStore/SimpleStore var store = new  Ext.data.JsonStore( {
Ext.data-GroupingStore/JsonStore/SimpleStore        data:[
Ext.data-GroupingStore/JsonStore/SimpleStore           [
1'Bill''Gardener'], [2'Ben''Horticulturalist']
Ext.data-GroupingStore/JsonStore/SimpleStore            ],
Ext.data-GroupingStore/JsonStore/SimpleStore        autoLoad:
true,
Ext.data-GroupingStore/JsonStore/SimpleStore        fields:[
{name: 'name', mapping: 1},{name:'occupation',mapping:2}]
Ext.data-GroupingStore/JsonStore/SimpleStore    }
)
Ext.data-GroupingStore/JsonStore/SimpleStore    var grid 
=   new  Ext.grid.GridPanel( {
Ext.data-GroupingStore/JsonStore/SimpleStore    ds: store,
Ext.data-GroupingStore/JsonStore/SimpleStore    columns: [
Ext.data-GroupingStore/JsonStore/SimpleStore        
{header: "name", width: 200, sortable: true,dataIndex: 'name'},
Ext.data-GroupingStore/JsonStore/SimpleStore        
{header: "occupation", width: 200,sortable: true, dataIndex: 'occupation'}
Ext.data-GroupingStore/JsonStore/SimpleStore    ],height:
350,
Ext.data-GroupingStore/JsonStore/SimpleStore      width:
620,
Ext.data-GroupingStore/JsonStore/SimpleStore      renderTo: 
'Div_GridPanel'
Ext.data-GroupingStore/JsonStore/SimpleStore    }
);

你可能感兴趣的:(simple)