我正在某些网格中工作,我注意到所有网格上的排序都是关键敏感的,是否有任何方法可以更改它。这是我的代码的一部分。
columnDefs = [
{
headerName: 'Id', field: 'id', sort: 'asc', sortable: true, filter: true,
checkboxSelection: true, resizable: true,
},
{
headerName: 'Name', field: 'name', sortable: true, filter: true,
checkboxSelection: false, editable: true, resizable: true,
},
{
headerName: 'Description', field: 'description', sortable: true, filter: true,
checkboxSelection: false, editable: true, resizable: true,
},
];
感谢您提供任何可能的帮助。
这是我通过## wentjun ##实现解决方案的方式:
constructor(private dialog: MatDialog, private adminService: AdminService) {}
columnDefs = [
{
headerName: 'Id', field: 'id', sortable: true, filter: true,
checkboxSelection: true, resizable: true,
},
{
headerName: 'Name', field: 'name', sortable: true, filter: true,
checkboxSelection: false, editable: true, resizable: true,
comparator: this.customComparator,
},
{
headerName: 'Description', field: 'description', sortable: true, filter: true,
checkboxSelection: false, editable: true, resizable: true,
},
];
customComparator(valueA, valueB) {
return valueA.toLowerCase().localeCompare(valueB.toLowerCase());
}
答案 0 :(得分:4)
这可以通过在需要区分大小写的特定列上使用custom sorting function来完成。
例如,对于您的columnDefs
,如果您需要对name
列进行大小写排序,我们将customComparator
传递为comparator
属性的值。在您的ngOnInit中,
this.columnDefs = [
{
headerName: 'Name',
field: 'name',
sort: 'asc', // optional, allows grid column to be sorted on init
comparator: customComparator
},
// other columns
];
然后,我们定义customComparator,以便它执行区分大小写的排序。为此,我们在自定义比较器上将这些值转换为小写。
const customComparator = (valueA, valueB) => {
return valueA.toLowerCase().localeCompare(valueB.toLowerCase());
};
编辑:我已经从原始的ag-grid演示中分叉并重新创建了demo,以演示上述比较器的用法。有关详细信息,请参考builder()方法。
答案 1 :(得分:1)
2020年更新,agTextColumnFilter
是默认的ag-Grid过滤器,接受参数。其中之一是caseSensitive
。
See sample