Щит UI Grid Панель инструментов Нажмите кнопку Фильтр сетки - PullRequest
0 голосов
/ 23 октября 2018

Итак, у меня есть сетка, в которой я использую шаблон для панели инструментов.У меня есть столбец с именем Status.Когда Status = Запрос на перепланирование, Отменен, Требуется вызов Office или Неверный номер, мы хотим, чтобы отображались только эти строки.Поэтому, когда пользователь нажимает кнопку на панели инструментов, он автоматически фильтрует сетку и показывает только те строки, в которых столбец «Состояние» соответствует приведенному выше.

Я отправил по электронной почте поддержку щита, и мне дали эту ссылку: https://www.shieldui.com/documentation/datasource/javascript/api/settings/filter

Основываясь на поддержке щита ссылок, я добавил кнопку и протестировал все виды кода и не могузаставить это работать.Вот кое-что из того, что я пробовал:

function templateFunc(item) {
      var grid = this;

                 $("<button type='button' id='showActionRequired' class='sui-button'><span class='sui-sprite sui-grid-icon-export-excel'></span> <span class='sui-grid-button-text'>Show Action-Required Items</span></button>")
                     .click(function () {

                      var dataSource = grid.DataSource({
                            filter: {
                                filter: { path: "CommStatusText", filter: "eq", value: "Cancelled" }
                            }
                         });

                   }).appendTo(item);
            }

Я пробовал: var dataSource = $("#newGrd").swidget().DataSource({ - это как моя сетка фильтра, которую я уже там установил

var dataSource = new shield.DataSource({ - то, что в примерах щита,Это ничего не делает.Не обнаруживает сетку.

и var dataSource = grid.DataSource({ - в зависимости от того, что я использую для кнопок экспорта.

Я также часто получаю эту ошибку:

enter image description here

Пожалуйста, помогите !!!

Ответы [ 2 ]

0 голосов
/ 08 ноября 2018

ОК Наконец-то это удалось выяснить с помощью помощи щитового интерфейса пользователя и большого количества испытаний.Хотел опубликовать, что сработало для меня, чтобы помочь кому-то еще в этом вопросе.

$("<button type='button' id='showActionRequired' class='sui-button'><span class='sui-sprite sui-grid-icon-export-excel'></span> <span class='sui-grid-button-text'>Show Action-Required Items</span></button>")
                     .click(function () {                             
                         var dataSource = $("#newGrd").swidget().dataSource;
                         dataSource.filter = {
                                or: [
                                    { path: "CommStatusText", filter: "eq", value: "Cancelled" },
                                    { path: "CommStatusText", filter: "eq", value: "Invalid Number" },
                                    { path: "CommStatusText", filter: "eq", value: "Request to Reschedule" },
                                    { path: "CommStatusText", filter: "eq", value: "Office Call Required" }
                                ]
                            }
                         dataSource.read();

                    }).appendTo(item);
0 голосов
/ 25 октября 2018

Вы можете проверить следующую демонстрацию:

https://demos.shieldui.com/web/grid-general/search-by-filtering

Вы можете изменить текстовое поле с раскрывающимся списком, инициализированным с данными параметрами и событием изменения, в зависимости от выбранного значения, которое нужно сделать.фильтр на нужную колонку.

...