关于store方面的各种应用
一、使用dwr方式的应用:
1、
var notarialtyperecord = new Ext.data.Record.create([ {name:'id'}, {name:'name'} ]) var notarialtypestore = new Ext.data.JsonStore({ fields:notarialtyperecord }) //dwr调用方法给store赋值 notarialTypeService.findAll(function(data1){ if(data1!=null) { notarialtypestore.loadData(data1); } })
2、
var rykhrecord = new Ext.data.Record.create([{ name:'id' },{ name:'sqm' }]) var rykhstore = new Ext.data.Store({ reader : new Ext.data.JsonReader({ totalProperty : 'totalProperty', root : 'root' }, rykhrecord), proxy : new Ext.ux.data.DWRProxy({ dwrFunction : rykhService.getAllSerach1//dwr的方法 }) }); rykhService.getAllSerach1(0, 20,null,null,null,function(data) { rykhstore.loadData(data); });
或者这样调用:
stfbstore.load({ params : params });
二、使用url调用(异步调用)
1、
ds = new Ext.data.Store({ // proxy: new Ext.data.MemoryProxy(jsondata), proxy : new Ext.data.HttpProxy({ url : '../user.do?action=list' }), reader : new Ext.data.JsonReader({ totalProperty : 'totalProperty', root : 'root' }, [{ name : 'id' }, { name : 'loginname' }, { name : 'name' }, { name : 'password' }, { name : 'status' }, { name : 'usergroups' }]) }); ds.load({ params : { start : 0, limit : 10 } });
grid的分页代码 :
bbar : new Ext.PagingToolbar({ pageSize : page, store : OperateReocrdStore, displayInfo : true, displayMsg : '显示第 {0} 条到 {1} 条记录,一共 {2} 条', emptyMsg : "没有记录", doLoad : function(start) { var params = {}; first = start; params.start = start; params.limit = page; this.store.load({ params : params }); } }),
java代码:
List
在此方法中一定要引入dwrproxy.js文件
三、数组调用
var data = [['1','name1','descn1'], ['2','name2','descn2'], ['3','name3','descn3']]; var store = new Ext.data.Store({ proxy: new Ext.data.MemoryProxy(data), reader : new Ext.data.ArrayReader({},[ {name:'id'}, {name:'name'}, {name:'descn'}, ]) }); store.load();