【问题标题】:ag-Grid How to prevent default sort and filter?ag-Grid 如何防止默认排序和过滤?
【发布时间】:2019-12-29 09:42:22
【问题描述】:

我正在为 aggrid 使用客户端行模型,但我想按服务器端排序和过滤,我不知道如何防止按 aggrid 本身排序和过滤的行为。

【问题讨论】:

  • 我有一个类似的问题,目前最好的解决方案是实现自定义标题组件,而不是监听这些组件的点击并实现自定义排序。我发现这种方法更难的是设置/重置标题单元格的排序状态,特别是当我想按不同的列排序时,但这是可行的。

标签: sorting filtering ag-grid


【解决方案1】:

对于排序: 我遇到了同样的问题,我使用模拟排序比较器做了一个简单的技巧。

为 columnsDefs 数组中的每个列对象添加一个返回 0 的“比较器”属性,如:

columnDefs = columnDefs.map(colDef => ({
   ...colDef,
    comparator: () => 0
}));

这样我们说自定义排序比较器返回相同的数据,所以你仍然可以从排序图标中受益。

此外,为了从服务器获取排序后的数据,您只需要监听排序更改事件,例如:

(sortChanged)="onSortChanged($event)"

然后在 onSortChanged:

onSortChanged(event){
    const sortModel = this.gridApi.getSortModel();
    service.getDataFromServer(sortModel);
    refreshGrid(); // If needed
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-03-29
    • 2017-11-19
    • 1970-01-01
    • 2021-12-16
    • 2017-01-10
    • 1970-01-01
    • 2017-12-08
    • 2019-12-28
    相关资源
    最近更新 更多