レコードが多すぎるため、リモート ストアとリモート ページネーションを使用するグリッドがあります。メイン グリッドのストアは次のとおりです。
Ext.define('ArD.store.RecordsListStore', {
extend: 'Ext.data.Store',
model: 'ArD.model.RecordsListModel',
autoLoad: true,
autoSync: true,
remoteSort: true,
remoteFilter: true,
pageSize: 15,
proxy: {
type: 'ajax',
actionMethods: 'POST',
api: {
read: g_settings.baseUrl + 'index.php/recordslist/getAll',
destroy: g_settings.baseUrl + 'index.php/recordslist/deleteRecord'
},
reader: {
type: 'json',
root: 'data',
totalProperty: 'totalCount',
successProperty: 'success'
},
writer: {
root: 'data',
writeAllFields: true,
encode: true
}
}
});
次に、グリッドにデータを入力すると、すべて問題ありません。しかし問題は、次のようなコンボボックスがあることです。
{
xtype: 'combo',
id: 'records_list_form_id',
emptyText: 'Choose Form',
editable: false,
store: 'FilterRecordsByForm',
displayField: 'title',
valueField: 'id',
lastQuery: '',
triggerAction: 'all',
queryMode: 'remote',
typeAhead: false,
width: 200,
listeners: {
select: this._filterRecords
}
}
そして、コンボボックスから何かを選択すると、関数があります:
_filterRecords: function()
{
var recStore = Ext.getStore('RecordsListStore');
var a = Ext.getCmp('records_list_form_id').getValue( );
var rec = Ext.getStore('FilterRecordsByForm').getAt(a);
console.log(recStore);
},
ほとんどの場合、いくつかのことを試しているだけですが、コンボボックスから選択した要素の ID を取得でき、それが私がいる場所です。
必要なのは、AJAX API (PHP/SQL バックエンド) を使用して新しいクエリを作成し、この ID に関連する情報をグリッドに入力するための ID です。私の場合、1:M の関係があるため、ID を渡すと、古いグリッドの場所にレンダリングしたい M レコードが期待されます。
ありがとう
レロン