2016-09-22 12 views
0

ExtJSフレームワークを持つコンボボックスを作成しました。しかし、ページネーションは機能しません。あなたはこれを助けてくれますか?コンボボックスによるExtJSページング

var store = new Ext.data.ArrayStore({ 
    fields: ['id'], 
    pageSize:1, 
    data : [ 
     ['15'],  ['25'],  ['225'],  ['325'],  ['525'],  ['625'],  ['125'],  ['8725'],  ['825'],  ['1825'],  ['3825'],  ['4825'],  ['67825'],  ['82725'],  ['84725'],  ['86725'],  ['87525'],  ['87625'],  ['872665'],  ['235'],  ['235'],  ['225'],  ['245'],  ['550'] 
    ] 
    }); 
var combo = new Ext.form.ComboBox({ 
    name : 'perpage', 
    width: 40, 
    mode : 'remote', 
    value: '1', 
    store:  store, //the store you use in your grid 

    pageSize:true, 
    listWidth  : 1, 
    width   : 600, 
    triggerAction : 'all', 
    displayField : 'id', 
    valueField : 'id', 
    forceSelection: true 
}); 


var window = Ext.create('Ext.window.Window', { 
    width: 650, 
    height: 100, 
    items: [combo] 
}).show(); 

すべてのデータすなわち24レコードが各ページに表示されます。 enter image description here

画像に示されているように、各ページには24の記録がすべて表示されています。期待は1レコードの各ページです。

答えて

3

コンボボックスには、常にストア内のすべてのデータが表示されます。通常、ページングを使用すると、ストアはサーバーからのすべてのデータを保持しません。したがって、プロキシはデータを管理します。

あなたはenablePagingとデータをMemoryProxyを使うとどうなるか確認してください:

var store = new Ext.data.ArrayStore({ 
    fields: ['id'], 
    pageSize:1, 
    proxy: { 
     type:'memory' 
     enablePaging:true, 
     data : [ 
      ['15'],  ['25'],  ['225'],  ['325'],  ['525'],  ['625'],  ['125'],  ['8725'],  ['825'],  ['1825'],  ['3825'],  ['4825'],  ['67825'],  ['82725'],  ['84725'],  ['86725'],  ['87525'],  ['87625'],  ['872665'],  ['235'],  ['235'],  ['225'],  ['245'],  ['550'] 
     ] 
    } 
}); 
+0

その作業のおかげでたくさん – Maddy

関連する問題