Программное обновление Dojo Gridx не показывает данных

Я пытаюсь создать программный фильтр. У меня есть dijit.tree и dojo gridx, использующие один и тот же источник на jsp. Когда пользователь щелкает узел дерева, я хочу использовать узел в качестве фильтра и отображать все строки, соответствующие ему в gridx.

Это мой код, который у меня есть сейчас для события onClick узла дерева dijit.

                    var global=this;
                    treeWidget.onClick = function(item){

          global.grid.filter.setFilter(global.grid.filter.grid.filter.moduleClass.or("test"));

Ранее я просил образец выражения. Я пошел и попробовал код выше и, кажется, обновил сетку, но вернулся как Нет элементов для отображения. У меня есть данные, которые соответствуют тесту, и если я сделаю ручной фильтр, я увижу, что данные возвращаются. Что мне здесь не хватает.

На https://github.com/oria/gridx/wiki/How-to-filter-Gridx-with-any-condition%3F (см. Выражения фильтра)


person bumblebee    schedule 31.01.2014    source источник


Ответы (2)


Мне удалось выполнить задачу, используя следующий код в событии diji.tree onClick.

                 global.grid.filterBar.applyFilter({
                    conditions: [{
                        condition: 'contain',
                        value: 'test'
                    }]
                });
person bumblebee    schedule 05.02.2014
comment
большое спасибо . Я так долго искал этот ответ :-) - person rockstar; 19.02.2014

Это комментарий, а не ответ, но я пока не могу оставлять комментарии.

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

Обычно я делаю myinstancename.grid.body.refresh(); чтобы выполнить надлежащее обновление.

person Christopher Sean Forgeron    schedule 31.01.2014
comment
Я смог понять это. Я использовал следующий код global.grid.filterBar.applyFilter({условия: [{условие: 'содержать', значение: 'тест' }] }); - person bumblebee; 06.02.2014