Сортировать столбец по заданному порядку в Syncfusion Essential JS 2 Grid для Angular 5
Функция сортировки описана в документации для syncfusion-ej2 Grid ( https://ej2.syncfusion.com/angular/documentation/grid/api-column.html). Я уже реализовал это в своем приложении Angular. Тем не менее, я не мог найти способ достичь своей цели, так как она не работает так, как я ожидал (может быть, я ошибаюсь).
Мне просто нужно ввести сортировку по умолчанию в сетке. Сортировка должна быть выполнена в столбце "Статус", который может быть "Просрочено", "Запланировано" или "Завершено". Порядок сортировки должен следовать той же последовательности, что и я. Могу ли я добиться этого с помощью sortComparer, как это? Если да, какие изменения я должен выполнить в существующем решении, которое я привел ниже?
[HTML]
<!-- Status -->
<e-column field="statusDisplay" headerText="Status" width="85" [sortComparer]='sortComparer'>
[TS]
public sortComparer = (reference: string, comparer: string) => {
if (reference == "Overdue") {
return -2;
}
else if (reference == "Planned") {
return -1;
}
else if (reference == "Completed") {
return 1;
}
return 0;
};
1 ответ
Пожалуйста, измените ваш sortComparer
определение как ниже.
public comparer = (reference: string, comparer: string) => {
if (reference == "Overdue") {
return -1;
}
else if (reference == "Planned") {
if (comparer == "Overdue") {
return 1;
} else {
return -1;
}
}
else if (reference == "Completed") {
return 1;
}
return 0;
};