在 Syncfusion Essential JS 2 Grid for Angular 5 中按给定顺序对列进行排序



排序功能在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

相关内容

  • 没有找到相关文章

最新更新