2017-02-13 13 views
2

ColdFusion 9からColdFusion 2016にアップグレードし、以前使用していた一部のコードは機能しなくなりました。 ColdFusion 2016はExt/JS 4.1を使用しているようですが、このバージョンを使用してこの情報を取得する方法がわかりません。Ext/JS 4.1を使用してグリッドの並べ替えの列と方向を取得する方法

現在のコードは次のとおりです。

var mygrid = ColdFusion.Grid.getGridObject('rosterGrid'); 
var params = mygrid.getStore().lastOptions.params; 
var sort = params.sort; 
var dir = params.dir; 

私は4.1でlastOptions.paramsの等価を見つけることができません。グリッドの並べ替えの列と方向を取得する必要があります。

+0

Sencha 4.1のドキュメントをご覧ください。 lastOptionsオブジェクトとparamsオブジェクトはこれ以上ありません。追加のデータを送信して使用するには、proxyのextraParamsオブジェクトを使用することができます。私が覚えているように、store.getProxy()を使うべきです。extraParams –

+0

これを使うべきです。 'sortableColumns:Boolean'です。 http://docs.sencha.com/extjs/4.0.7/#!/api/Ext.grid.Panelを確認してください。 – UDID

答えて

3

これを試してみてください:

var sorter = mygrid.getStore().sorters.getAt(0); var sort = sorter.property; var dir = sorter.direction;

+0

ソーターを返します。未定義です。 Ext/JSのドキュメントを見ると、ソーターの属性や方向がわかりません –

+0

ドキュメント - http://docs.sencha.com/extjs/4.1.1/#!/api/Ext.util.Sorterソートが現在ストアに適用されていない場合、ソーターは未定義になります。その場合は、次のようにします。 var sort = sort? sorter.property: ''; このフィドルを試してみてください。それは動作します - http://jsfiddle.net/vdazU/3237/ – inQstvJS

+0

ソートがもともと与えられていなければ、それは未定義でした。終了コードは次のようになります。\t \t \t \t VARソーター= mygrid.getStore()sorters.getAt(0); \t if(typeof sorter = 'undefined'){ \t \t \t var sort = sorter.property; \t \t \t var dir = sorter.direction; \t \t}他{ \t \t VARソート= 'たstartDate'。 \t \t var dir = 'ASC'; \t \t \t \t \t} –

1

inQstvJS` answerの助けを借りて、ここに私の最終的なコードは次のように見えたものです。

var sorter = mygrid.getStore().sorters.getAt(0); 
if (typeof sorter != 'undefined') { 
    var sort = sorter.property; 
    var dir = sorter.direction; 
} else { 
    var sort = 'startDate'; 
    var dir = 'ASC'; 
} 
関連する問題