Как получить столбец сортировки и направление сетки с помощью Ext/JS 4.1

Мы обновили ColdFusion 9 до ColdFusion 2016, и некоторый код, который мы использовали, больше не работает. Похоже, что ColdFusion 2016 использует 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. Мне нужно получить столбец сортировки и направление для сетки.


person E. Burr    schedule 13.02.2017    source источник
comment
Вы должны посмотреть документы Sencha 4.1. Объектов lastOptions и params больше нет. Для отправки и использования некоторых дополнительных данных теперь вы можете использовать объект extraParams прокси. Насколько я помню, вы должны использовать store.getProxy().extraParams   -  person Andrew Koshkin    schedule 14.02.2017
comment
Вы должны использовать это. sortableColumns : Boolean. Проверьте docs.sencha.com/extjs/4.0. .7/#!/api/Ext.grid.Panel   -  person UDID    schedule 14.02.2017


Ответы (2)


Попробуй это:

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

person inQstvJS    schedule 14.02.2017
comment
Он возвращает сортировщик undefined. Просматривая документацию Ext/JS, я не вижу свойства или направления в сортировщике. - person E. Burr; 15.02.2017
comment
Документация — docs.sencha.com/extjs/4.1 .1/#!/api/Ext.util.Sorter. Здесь sorter будет неопределенным, если в настоящее время к хранилищу не применяется сортировка. В этом случае сделайте так: var sort = sorter ? sorter.property : ''; Попробуйте эту скрипку. Это работает - jsfiddle.net/vdazU/3237 - person inQstvJS; 15.02.2017
comment
Вы были правы, это было неопределенно, если изначально не было задано никакой сортировки. Конечный код выглядит следующим образом: var sorter = mygrid.getStore().sorters.getAt(0); if (typeof sorter != 'undefined') { var sort = sorter.property; var dir = sorter.direction; } else { var sort = 'startDate'; вар директор = 'ASC'; } - person E. Burr; 15.02.2017

С помощью 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'; 
}
person E. Burr    schedule 17.02.2017