1.重新定义store中的url
store.proxy.url=‘a.action’;
store.load();
2.获取grid的全部数据
for(var i=0;i<store.getCount();i++){
var name=store.getAt(i).get('NAME');
}
3.store常用事件
load( Ext.data.store this, Array records, Boolean successful, Ext.data.Operation operation )
var store = Ext.create('Ext.data.Store', {
model : 'model',
proxy : {
type : 'ajax',
url : '',
reader : {
type : 'json',
root : 'root'
}
},
listeners : {
'load':function(store,records,su,operation){
if(su){
if(store.getCount()>0){
grid.getSelectionModel().select(0); //数据加载成功后,实现首行选中
}
}
}
}
});
beforeload( Ext.data.Store store, Ext.data.Operation operation )
var store = Ext.create('Ext.data.Store', {
model : 'model',
proxy : {
type : 'ajax',
url : 'a.action',
reader : {
type : 'json',
root : 'root'
}
},
listeners : {
'beforeload':function(store,operation){
store.proxy.url='b.action'; //只要调用store.load()方法,不管以前的url是什么,都被替换成了b,action
}
}
});
4. grid添加和删除行
添加
var r = Ext.ModelManager.create({
NAME: ' ',
PATH: '',
ACTION: ' '
}, 'MODEL');
store.insert(0, r);
删除
var sm = grid.getSelectionModel();
var sels = sm.getSelection();
var id= "";
if (typeof (sels) != 'undefined') {
var len = sels.length;
for ( var i = 0; i < len; i++) {
id= sels[i].data.ID;
}
}
fs.form.submit( {
clientValidation : true,
url : 'delaction?id=' + encodeURI(id),
method : 'POST',
success : function(form, action) {
store.remove(sels); //利用表单提交传参数到后台删除,成功则删除页面的行,也可以直接store.load()
},
failure : function(form, action) {
}
});