Как выполнить сортировку / фильтрацию на стороне сервера в angular-grid?

В настоящее время существует открытая проблема для добавления сортировки / фильтрации на стороне сервера в проект angular-grid. Кто-нибудь нашел обходной путь для реализации этой функциональности с текущей реализацией сетки? Хаки или нет, я все равно возьму это.

2 ответа

Решение

Вы можете получить больше информации здесь:

http://www.ag-grid.com/angular-grid-virtual-paging/

Любой столбец можно отсортировать, нажав на заголовок. Когда это происходит, источник данных снова вызывается с новыми опциями сортировки.

Столбцы Возраст, Страна и Год могут быть отфильтрованы. Когда это происходит, источник данных снова вызывается с новыми параметрами фильтрации.

  $scope.gridOptions = {
        enableServerSideSorting: true,
        enableServerSideFilter: true
  }
  ...
  $scope.gridOptions.api.setDatasource(dataSource);

Источник данных имеет метод getRows(), который может использовать params.startRow и params.endRow, а также params.sortModel, params.filterModel для запроса данных с сервера через вызов http.

Документация находится здесь: https://www.ag-grid.com/javascript-grid-infinite-scrolling/ Rowmodeltype должен быть установлен как бесконечный, и вместо setRowData должен быть установлен праматер dataSource.

rowModelType : "infinite",
enableServerSideSorting: true,
enableServerSideFilter: true

Встроенные фильтры, такие как agSetColumnFilter,agTextColumnFilter,agNumberColumnFilter, работают только в версиях ag grid 15.0.0 и 16.0.0, но не работают в версии 14.2.0.

Для этого это plunkr: https://embed.plnkr.co/S2yZkGKF7utD1KEt1pbh/

Другие вопросы по тегам