在服务器API上排序后如何在客户端上禁用排序?

时间:2020-08-05 15:15:17

标签: ag-grid ag-grid-angular

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

有没有一种方法可以仅禁用Ag-Grid组件上的排序,而不禁用Header Sorting按钮(因为此按钮会将请求发送到API)?

2 个答案:

答案 0 :(得分:0)

  1. 删除可排序 (或)
  2. 使用sortType = null

这可以在ColumnDef中完成。

答案 1 :(得分:0)

使用不执行任何操作的自定义比较器。 AG Grid,如果未提供comparator,则对字段使用字母或数字排序,但是如果您提供Comparator的自定义实现,则它将使用该排序来对数据进行排序。因为您已经在服务器上对其进行了排序,所以可以使用它

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

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