私のUIでは、カラムにフィルタを適用し、フィルタリングされたデータを取得するグリッドがあります。このような値は:私のRESTリクエストで、私のUIをキーとして、フィルタを送信しているEXTJSのBufferedGridオブジェクトからフィルタを抽出する方法
filter:[{"operator":"gt","value":222,"property":"qty_raw"}]
と、私は同じことを送ることができるように(ComponentQueryを使用して)同じグリッドから同じフィルタデータを抽出したいですクロームツールのフィルタボタンのクリックハンドラで別の要求で/フィルター(1列以上)、私はこのようなEXTJSでコードを書いています、
var gridObj = Ext.ComponentQuery.query('myGridId')[0];
var filters = gridObj.store.getFilters();
console.log("print filters.....",filters);
フィルタは、私がデータを必要とする次のスナップショット、のようになります。アイテムやマップにありますが、データにアクセスできません。これを行うより良い方法があるかどうかわかりません。助言がありますか?
アップデート:私は、店lastOptionsプロパティを使用して、それをやってみました、それはまだ動作していません(エラー:キャッチされない例外TypeError:未定義のプロパティ 'のparams' を読むことができません)
var gridObj = Ext.ComponentQuery.query('Grid_xx')[0];
var lastOptions = gridObj.store.lastOptions,
lastParams = Ext.clone(lastOptions.params);
lastParams.limit = limit; //;var limit = gridObj.store.getTotalCount();
lastParams.page = page; // var page = 1
lastParams.start = start; // var start= 1
lastParams.columnsNameArray = JSON.stringify(columnsNameArray);
console.log("columnArray............ =",lastParams.columnsNameArray);
var encodedFilename = Ext.urlEncode(lastParams);
Ext.create('Ext.Component', {
renderTo: Ext.getBody(),
//url: EfwSlamUI.Config.restUrl.GridExport,
cls: 'x-hidden',
params: lastParams,
autoEl: {
tag: 'iframe',
src: Abc.Config.restUrl.GridExport + '?' + encodedFilename}
});
私のもう1つの要求はキーを送信しています:値ペアurlEncodedパラメータとしてオブジェクト。私はどのようにキーを抽出するのか分からない:BufferedGrid(フィルタリングされた)要求が既にロードされているから値のペアを取得すると、すべてが画面にロードされた後にボタンのクリックイベントが発生し、SpringMVCのrequestMappingメソッド要求に応じてExcelファイルをUIに送信します。私はあなたの提案を使用して再試行したコードで自分のqusを更新しましたが、うまくいきません。 – Jammy