EXTJS4.0 gridpanel 用法筆記~~store的一些用法

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



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章