Как выполнить сортировку / фильтрацию на стороне сервера в 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/