首页 > 解决方案 > 在服务器 API 上排序后如何在客户端上禁用排序?

问题描述

我有一个 DataGrid,当我单击标题列进行排序(例如按日期)时,它会请求我的 API 以正确的顺序回答所有数据。但在此之后,当 Datagrid 重新加载新数据时,Ag-Grid 组件再次对该列进行排序,并且它带来了错误的顺序。

有没有办法只禁用 Ag-Grid 组件上的排序,但不禁用标题排序按钮(因为这个按钮将请求发送到 API)?

标签: ag-gridag-grid-angular

解决方案


使用什么都不做的自定义比较器。AG Grid,如果没有comparator提供,则对字段使用字母或数字排序,但如果您提供 Comparator 的自定义实现,则它使用它对数据进行排序。因为您已经在服务器上对其进行排序,因此您可以使用它

    var columnDefs = [
    { field: 'customField', comparator: customComparator},
    ....
    ];

    function customComparator(data1, data2) {
    return 0; //means no comparing and no sorting
    }

推荐阅读