2017-02-13 19 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; 

Я не могу найти эквивалент для lastOptions.params в 4.1. Мне нужно получить столбец сортировки и направление для сетки.

+0

Вы должны ознакомиться с документами Sencha 4.1. Объектов lastOptions и params больше нет. Чтобы отправить и использовать некоторые дополнительные данные, теперь вы можете использовать объект extraParams Proxy. Как я помню, вы должны использовать 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

Он возвращает сортировщик undefined. Просматривая документацию Ext/JS, я не вижу свойства или направления под сортировщиком –

+0

Документация - http://docs.sencha.com/extjs/4.1.1/#!/api/Ext.util.Sorter. Здесь сортировщик не будет определен, если в хранилище не используется сортировка. В этом случае сделайте так: var sort = сортировщик? sorter.property: ''; Попробуйте эту скрипку. Он работает - http://jsfiddle.net/vdazU/3237/ – inQstvJS

+0

Вы были правы, он не был определен, если не был задан ни один вид. Конец кода выглядит так: \t \t \t \t var sorter = 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} else { \t var sort = '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'; 
}