Задать вопрос

ExtJS 4.1.1, JsonStore, extraParams, Grid с серверной пагинацией, как задать параметры в Store?

Есть отчёт, простой грид, настроил серверную пагинацию все работает отлично. Но...

Данные отчёта зависят от выбранной даты (из datefield), то есть выбираю дату, и на сервер передаётся запрос с параметром (дата) в дополнении к (start, limit, page) и возвращается нужный отчёт но когда нажимаю на пагинацию, то он не работает правильно, потому что не передаётся параметр (дата).

Единственное решение как-то передать во время нажатии дополнительный параметр или что-то похожее. Или на сервере сохранить последнюю выбранную дату или... плохих решении много :D

Думаю, есть те, кто сталкивался с такой проблемой .

Заранее спасибо.
  • Вопрос задан
  • 3054 просмотра
Подписаться 3 Оценить Комментировать
Решения вопроса 1
@UngVas Автор вопроса
fornit1917 спасибо ))
Решил проблему таким способом:
<code lang="javascript">

 listeners: {
        'beforeload': function (store, options) {

            if (typeof Ext.ComponentQuery.query('toolbar[name=gridToolbar] datefield')[0] === 'undefined') {

                var currDate = moment().format("D.M.YYYY");

                store.proxy.extraParams.d1 = currDate;
                store.proxy.extraParams.d2 = currDate;

            }
            else {

                store.proxy.extraParams.d1 = selectedDate(0);
                store.proxy.extraParams.d2 = selectedDate(1);
            }
        }
</code>


Проверяю если компонент dateFiled еще не существует то это значит что я только что зашёл на страницу с отчётом и задаётся отчёт за сегодня
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
fornit1917
@fornit1917
extraParams у store то что вам нужно
Например, см. тут: stackoverflow.com/questions/11896163/use-extra-par...
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы