如何在 angular-grid 中执行服务器端 sorting/filtering?

How to do server-side sorting/filtering in angular-grid?

目前有一个 open issue 可以将服务器端 sorting/filtering 添加到 angular-grid 项目。有没有人找到解决方法来使用当前的网格实现来实现此功能?黑不黑,我还是顶一下。

您可以在这里获得更多信息:

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

Any column can be sorted by clicking the header. When this happens, the datasource is called again with the new sort options.

The columns Age, Country and Year can be filtered. When this happens, the datasource is called again with the new filtering options.

  $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 pramater。

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/