EXTJS4.0 gridpanel 用法笔记~~store的一些用法

时间:2022-02-07 04:35:52

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常用事件

( 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);                  //数据加载成功后,实现首行选中
        }
        }
    }
    }
});


( 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) {
                                }
                            });