2014-09-23 4 views
0

Я пытаюсь сортировать сетку результатов на основе заголовка столбца по умолчанию при каждом отображении результатов. Я попытался дать сортировщику в магазин, и он работал нормально, когда страница загружается в первый раз. Он работает так, как я хочу. Но проблема возникает только тогда, когда я пытаюсь нажать на другой заголовок столбца в сетке. Когда я нажимаю на другой заголовок, он сортируется на основе этих значений столбца. Если я нажму кнопку поиска в этот момент без перезагрузки страницы, результаты поиска будут отображены и отсортированы по моему предыдущему выбранному столбцу. Я хочу, чтобы это было отсортировано на основе столбца по умолчанию. Проблема в том, что сетка обновляется с результатами поиска каждый раз, когда я нажимаю кнопки поиска или сброса, но заголовки столбцов не обновляются. Таким образом, результаты сортируются по моему предыдущему выбору. Чтобы устранить эту проблему, я пытаюсь перезагрузить всю страницу каждый раз, когда я нажимаю на поиск или сброс. Есть ли способ, чтобы я мог обновлять заголовки столбцов вместе с результатами поиска каждый раз, когда я нажимаю на поиск, чтобы результаты сортировались на основе заголовка столбца по умолчанию. Я могу обновить результаты поиска и фрагментацию для каждого поиска, но не заголовки столбцов. Любое решение ...Extjs- Заголовки столбцов сетки обновляются для каждого поиска

Спасибо ....

ответ

2

Вы не упомянули о том, действительно ли вы хотите разрешить пользователю сортировать по разным столбцам.

Вы можете переключать это поведение в определении столбцов, используя sortable: false http://docs.sencha.com/extjs/4.2.2/#!/api/Ext.grid.column.Column-cfg-sortable

Если вы хотите сохранить это поведение, вы можете заменить сортировщик с снова один по умолчанию на каждой загрузке:

var myDefaultSorter=Ext.create('Ext.util.Sorter',{ 
    property:"MyProperty", 
    direction:"ASC" 
}); 

store.on('beforeload',function(store) { 
    store.sorters.clear(); 
    store.sorters.add(myDefaultSorter); 
} 
+0

Благодарю. Это решило мою проблему. – user3546785