Как получить отфильтрованные строки в ui-grid?
Использование ui-grid
Я хочу получить список всех фильтрованных строк данных с помощью фильтра.
В плункере ниже у меня есть исходные данные из 500 элементов, отфильтрованных до 61.
Теперь, как я могу получить список из этих 61 объектов?
ссылка plnkr
Если я использую следующий код, я получаю только строки, отображаемые на экране
var _renderedRows = $scope.gridApi.grid.renderContainers.body.renderedRows;
Нажатие кнопки внизу этого плунжера показывает количество фильтрованных строк, которое составляет только 14, а не 61.
Это работает отлично, если в моем фильтре 14 или меньше, так как я могу получить доступ к объекту entity из приведенного выше.
Но я не вижу никакого свойства в сетке, которое предоставляет отфильтрованные строки.
Итак, как я могу получить список 61, чтобы я мог передать их в другую функцию для выполнения действий над ними?
Ответы
Ответ 1
Используйте PublicApi, чтобы получить текущий счетчик видимых строк
$scope.filteredRows = $scope.gridApi.core.getVisibleRows($scope.gridApi.grid);
Ниже приведен обновленный plnkr (Подсказка: вы должны нажать кнопку "Получить отфильтрованные строки" )
Ответ 2
Это ответ на аналогичный вопрос. Он подтверждает не только видимые строки, но строки, которые фактически фильтруются:
fooobar.com/info/552304/...