Как выбрать все строки из созданного фильтра в Kendo UI Grid? - PullRequest
0 голосов
/ 25 января 2019

У меня есть проект telerik: https://dojo.telerik.com/@blockbaster/axIbuPOs

Проверьте это:

  1. Введите значение «15» в столбце «Количество на складе».

    -> 4 элемента должны появиться на 2 страницах.

  2. Нажмите на флажок «Выбрать все строки» в верхнем левом углу

    -> добавляются только видимые элементы

The selected product ids are: [26, 7]

Цель: Выполнить пункт 1-2

The selected product ids are: [26, 48, 7, 70]

При экспорте в Excel из сетки есть опция:

excel: {
  allPages: true
}

Есть ли вариант для этого тоже?

Примечание: пока нет пейджинга на сервере. Все данные будут загружены сразу.

1 Ответ

0 голосов
/ 25 января 2019

Основные шаги:

  1. Установите для параметра persistSelection Grid значение true.
  2. Используйте селектор jQuery, чтобы подписаться на событие click главного флажка.
  3. В обработчике события щелчка

    3.1 Сохраните текущий размер страницы в глобальной переменной с помощью метода pageSize источника данных Kendo UI.

    3.2 Показать все строкина одной странице с помощью метода pageSize.

    3.3 Выделите все строки с помощью метода select из сетки Kendo UI.

    3.5 Верните старый размер страницы с помощью метода pageSize.

    функция onClick (e) {var grid = $ ("# grid"). Data ("kendoGrid");

        oldPageSize = grid.dataSource.pageSize();
        grid.dataSource.pageSize(grid.dataSource.data().length);
    
        if (grid.dataSource.data().length === grid.select().length) {
            grid.clearSelection();
        } else {
            grid.select("tr");
        };
    
        grid.dataSource.pageSize(oldPageSize);
    };
    

У Telerik есть примервыбора по сетке страниц в документах здесь

...