Datagrid 排序编号 - 最后要为空
Datagrid sort number - want null last
是否有任何方法可以在数据网格列上设置排序,该列可以是数字但可以为 null,这样如果用户对列表进行排序,它总是最后显示 null
IE
asc 将是 1,2,3,null
desc 将是 3,2,1,null
很有用,因为很多行都将具有空值,如果单击排序,则用户将专注于查看按上述方式排序的信息。
列可以具有应用程序提供的自定义排序功能。
我将列出一个概述,然后将 stackblitz link 留给一个工作的应用程序,以便您可以参考工作代码。
首先,为要使用的应用定义 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实体
public customComparator = new CustomComparator();
最后,更新模板以声明在需要它的列上使用自定义比较器:
<clr-dg-column [clrDgField]="'key'"
[clrDgSortBy]="customComparator">
Key
</clr-dg-column>
这是一个 link stackblitz,其中植入了一个自定义比较器,该比较器总是 return 空项目最后。 https://stackblitz.com/edit/so-58020609-custom-sorting
是否有任何方法可以在数据网格列上设置排序,该列可以是数字但可以为 null,这样如果用户对列表进行排序,它总是最后显示 null IE asc 将是 1,2,3,null desc 将是 3,2,1,null
很有用,因为很多行都将具有空值,如果单击排序,则用户将专注于查看按上述方式排序的信息。
列可以具有应用程序提供的自定义排序功能。
我将列出一个概述,然后将 stackblitz link 留给一个工作的应用程序,以便您可以参考工作代码。
首先,为要使用的应用定义 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实体public customComparator = new CustomComparator();
最后,更新模板以声明在需要它的列上使用自定义比较器:
<clr-dg-column [clrDgField]="'key'"
[clrDgSortBy]="customComparator">
Key
</clr-dg-column>
这是一个 link stackblitz,其中植入了一个自定义比较器,该比较器总是 return 空项目最后。 https://stackblitz.com/edit/so-58020609-custom-sorting