2011-11-09 65 views
0

我最終能夠從json文件檢索我的數據,但分頁系統仍然很糟糕。 pageSize屬性似乎不響應,因此當我按下加載更多插件文本出現在我的列表底部時,它會將我所有的json元素都添加到我的列表中。我對自己幾乎在那裏的事實充滿信心,但我無法看到如何實現目標。從json列表分頁

下面是代碼:

Ext.setup({ 

tabletStartupScreen: 'tablet_startup.png', 
phoneStartupScreen: 'phone_startup.png', 
icon: 'icon.png', 
glossOnIcon: false, 

onReady : function() { 

    var dataLink; 
    if (Ext.is.Desktop) { 
     dataLink = "http://127.0.0.1/Appsfan-v2"; 
    } else { 
     dataLink = "http://appsfan.kreactive.eu"; 
    } 

    Ext.regModel('Profile', { 
     fields: [ 
      {name: 'firstname', type: 'string'}, 
      {name: 'lastname', type: 'string'}, 
      {name: 'age', type: 'number'} 
     ] 
    }); 

    var store = new Ext.data.JsonStore({ 
     model: 'Profile', 
     autoLoad: false, 
     remoteFilter: true, 
     sortOnFilter: true, 
     //sorters: [{property : 'lastname', direction: 'ASC'}], 
     pageSize: 1, 
     clearOnPageLoad: false, 
     proxy: { 
      type: 'ajax', 
      url: dataLink+'/data.json', 
      reader: { 
       root: 'profile', 
       type: 'tree' 
      } 
     } 
    }); 
    console.log(store) 

    //console.log(store.loadPage(0)) 

    var groupingBase = new Ext.List({ 
     fullscreen: true, 
     itemTpl: '<div class="contact2"><strong>{firstname}</strong> {lastname} -> {age}</div>', 
     indexBar: false, 
     store: store, 
     plugins: [{ 
      ptype: 'listpaging', 
      autoPaging: false 
     }] 
    }); 



    var panel = new Ext.Panel({ 
     layout: 'card', 
     fullscreen: true, 
     items: [groupingBase], 
     dockedItems: [{ 
      xtype: 'toolbar', 
      title: 'paging example', 
     }] 
    }) 
    //console.log(datas) 
} 
}); 

JSON的

{ 
"profile": [{ 
    "firstname": "firstname1", 
    "lastname": "lastname1", 
    "age": "1" 
},{ 
    "firstname": "firstname2", 
    "lastname": "lastname2", 
    "age": "2" 
},{ 
    "firstname": "firstname3", 
    "lastname": "lastname3", 
    "age": "3" 
}] 
} 

謝謝

回答

0

您可以設置在您的商店的clearOnPageLoad配置選項。當加載分頁數據的下一頁時,這將刪除以前的記錄。

下面是一個例子:

Ext.regStore('BarginsStore', { 
    model: 'BarginModel', 
    autoLoad: false, 
    pageSize: 6, 
    clearOnPageLoad: false, 
});