WedX - журнал о программировании и компьютерных науках

Сетка фильтрации с QueryReadStore

У меня есть сетка, в которой хранится QueryReadStore. Работает нормально, даже виртуальная прокрутка. Проблема в фильтре, когда я фильтрую, он генерирует такой странный URL:

https://mydomain:8080/project=%3F&1=f&2=i&3=l&4=t&5=e&6=r&7=......

И я хочу выглядеть так:

https://localhost:8080/project?filter={%22op%22:%22contains%22,%22data%22:[{%22op%22:%22string%22,%22data%22:%22username%22,%22isCol%22:true},{%22op%22:%22string%22,%22data%22:%22s%22,%22isCol%22:false}]}

Вот код, который генерирует сетку и фильтр:

this.grid = new EnhancedGrid({ 
                store: null,
                structure: this.columns,         
                rowsPerPage: 20, 
                autoHeight: false, 
                plugins: {
                    filter: {
                        closeFilterbarButton: false,
                        isServerSide: true,
                        setupFilterQuery: dojo.hitch(this, function(commands, request){
                          if(commands.filter && commands.enable){
                              var gridStoreURL = this.grid.store.url;

                              if(gridStoreURL.indexOf("?") > -1) {
                                request.query = "&filter=" + JSON.stringify(commands.filter);
                              } else {
                                request.query = "?filter=" + JSON.stringify(commands.filter);
                              }
                          }else{
                          }
                        }),
                        ruleCount: 3,
                        itemsName: "logs",
                        disabledConditions: {anycolumn : this.disabledFilterAnyColumn}
                    }
                }
            }, this.idGridContainer);

Я создаю магазин с помощью этой функции:

var store = dojox.data.QueryReadStore({
                url : this.urlBase + agentId,
                requestMethod:"get"
            });

            this.grid.setStore(store, null, null);

Когда я использую JsonStore для создания магазина, фильтр работает нормально, а в этом нет.

заранее спасибо


Ответы:


1

Похоже, вы пытаетесь установить запрос хранилища в строку, но IIRC QueryReadStore всегда ожидает, что запрос будет передан как объект, в отличие от JsonRestStore, который может принять его в любом случае.

Вместо этого попробуйте для начала что-то вроде этого и посмотрите, продвинется ли это дальше:

request.query = { filter: JSON.stringify(commands.filter) }
29.10.2014
Новые материалы

Как проанализировать работу вашего классификатора?
Не всегда просто знать, какие показатели использовать С развитием глубокого обучения все больше и больше людей учатся обучать свой первый классификатор. Но как только вы закончите..

Работа с цепями Маркова, часть 4 (Машинное обучение)
Нелинейные цепи Маркова с агрегатором и их приложения (arXiv) Автор : Бар Лайт Аннотация: Изучаются свойства подкласса случайных процессов, называемых дискретными нелинейными цепями Маркова..

Crazy Laravel Livewire упростил мне создание электронной коммерции (панель администратора и API) [Часть 3]
Как вы сегодня, ребята? В этой части мы создадим CRUD для данных о продукте. Думаю, в этой части я не буду слишком много делиться теорией, но чаще буду делиться своим кодом. Потому что..

Использование машинного обучения и Python для классификации 1000 сезонов новичков MLB Hitter
Чему может научиться машина, глядя на сезоны новичков 1000 игроков MLB? Это то, что исследует это приложение. В этом процессе мы будем использовать неконтролируемое обучение, чтобы..

Учебные заметки: создание моего первого пакета Node.js
Это мои обучающие заметки, когда я научился создавать свой самый первый пакет Node.js, распространяемый через npm. Оглавление Глоссарий I. Новый пакет 1.1 советы по инициализации..

Забудьте о Matplotlib: улучшите визуализацию данных с помощью умопомрачительных функций Seaborn!
Примечание. Эта запись в блоге предполагает базовое знакомство с Python и концепциями анализа данных. Привет, энтузиасты данных! Добро пожаловать в мой блог, где я расскажу о невероятных..

ИИ в аэрокосмической отрасли
Каждый полет – это шаг вперед к великой мечте. Чтобы это происходило в их собственном темпе, необходима команда астронавтов для погони за космосом и команда технического обслуживания..


Для любых предложений по сайту: [email protected]