ExtJs 4 store 在分頁時如何保持搜索條件不變

 在store.load()之前,加入方法:

store.on('beforeload',function(){
            store.proxy.extraParams = {keyword:Ext.getCmp('keyword').getValue()};
        });

:::: 

在Ext 3 中的

store.on('beforeload', function () {
            store.baseParams = {
                name: '5555555',
                intss: '666666666'
            };
        });

已經不適合與ext4 系列了。

 

下面給出完整的代碼。原理很簡單,將搜索條件放在store的baseParams中,每次加載都賦值。

只是需要強制賦值,因爲默認的pagetoolbar只會把start、limit、page、sort、dir傳遞給store。

var store = new Ext.data.Store({
       pageSize: GridPageSize,
       model: 'Master',
       autoLoad: false,
       proxy: {
           type: 'ajax',
           url: '/master/GetMasterData',
           reader: {
               type: 'json',
               root: 'data',
               totalProperty: 'totalCount'
           }
       },
       fields: [
           { name: 'Id' },
           { name: 'Master_Name' }
         

       //排序
       sorters: [{
           property: 'Master_Name',
           direction: 'DESC'
       }]
      


   });

store.on('beforeload', function (store, options) {

        var new_params = { name: Ext.getCmp('search').getValue() };
        Ext.apply(store.proxy.extraParams, new_params);
        // alert('beforeload');
    });

store.load({
       params: { start: 0, limit: GridPageSize }
   })

發佈了23 篇原創文章 · 獲贊 3 · 訪問量 4萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章