排序功能在syncfusion-ej2 Grid(https://ej2.syncfusion.com/angular/documentation/grid/api-column.html#sortcomparer(的文档下进行了描述。我已经在我的 Angular 应用程序中实现了它。尽管如此,我还是找不到实现目标的方法,因为它没有像我预期的那样工作(可能是我的想法错误(。
我只需要向网格引入默认排序。必须在"状态"列上实现排序,该列可以是"逾期"、"计划"或"已完成"。排序顺序应遵循与我提到的相同的顺序。 我可以使用这样的"排序比较器"来实现它吗?如果是这样,我必须在下面引用的现有解决方案上执行哪些更改?
[网页]
<!-- 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;
};
请像下面这样更改您的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;
};
http://next.plnkr.co/edit/ihwvd7a6UxXYI1N5?preview