ExtJS v4.1 コンボボックスがあり、それをストアにバインドし、その pageSize 構成を次のように設定しました。
var myStore = Ext.create('Ext.data.Store', {
model: 'User',
remoteFilter: true,
remotePaging: true,
autoLoad: true
proxy: {
type: 'ajax',
url: '/users.json',
reader: {
type: 'json',
root: 'users'
}
},
pageSize: 50, // <= store pageSize
});
Ext.create('Ext.form.ComboBox', {
fieldLabel: 'Choose',
store: myStore,
queryMode: 'remote',
displayField: 'Name',
valueField: 'Id',
pageSize: 20 // <= combobo pageSize
});
ドキュメンテーションによると、pageSize
サーバーに送信される ajax クエリをフィルタリングするには、コンボボックスのプロパティを使用する必要がありますqueryMode='remote'
。しかし、私たちが見ているのは反対で、コンボボックスの下部にページングツールバーを表示するためにのみ使用されています (ドキュメントの最初のコメントはそう言っています)。
しかし、この特定のケースで本当に必要なpageSize
のは、ストアのプロパティをオーバーライドし、コンボボックスのpageSize
プロパティを ajax リクエストのフィルタリングに使用することです。
コンボボックスでそのような機能をどのように実装/拡張できますか? pageSize
コンボボックスでストアのプロパティをオーバーライドするにはどうすればよいですか?