Столбцы могут иметь настраиваемую функцию сортировки, которую предоставляет приложение.
Я перечислю обзор, а затем оставлю ссылку на стек для рабочего приложения, чтобы вы могли ссылаться на рабочий код.
Сначала определите CustomComparator
для приложения, которое оно будет использовать:
import {ClrDatagridComparatorInterface} from "@clr/angular";
class CustomComparator implements ClrDatagridComparatorInterface<any> {
compare(a: any, b: any) {
if (a.key && b.key) {
return a.key - b.key;
} else {
return null;
}
}
}
Затем объявите компаратор как открытый объект в компоненте с сеткой данных
public customComparator = new CustomComparator();
Наконец, обновите шаблон, чтобы объявить об использовании настраиваемого компаратора в столбце, который нуждается в этом:
<clr-dg-column [clrDgField]="'key'"
[clrDgSortBy]="customComparator">
Key
</clr-dg-column>
Вот ссылка на блик стека с имплантированным пользовательским компаратором, который всегда возвращает нулевые элементы в последнюю очередь.https://stackblitz.com/edit/so-58020609-custom-sorting