无法使用比较器自定义排序我的 ag-grid
Unable custom sorting my ag-grid using comparator
我的 Aurelia 应用程序中有一个 ag-grid(版本 16)。所有列都是可排序的。其中一列需要自定义排序。正如 ag-grid 文档中所解释的,这是可能的:
https://www.ag-grid.com/javascript-grid-sorting/#custom-sorting
他们使用 比较器 为 javascript 提供了示例。初看起来真的很简单。
当我尝试在我自己的代码中使用比较器时(但这次使用的是 TypeScript),此代码从未达到(从未调用过调试器指令)。
下面是我的代码:
constructor(...) {
this.columnDefs = [
{
headerName: "Name",
field: "name",
width: 150
},
...
{
headerName: "Indice",
field: "indice",
width: 90,
sort: 'desc',
comparator: (valueA, valueB) => this.indiceComparator(valueA, valueB);
}
}
private indiceComparator(valueA, valueB) {
debugger;
// Never reached !
return 0;
}
// When initializing my grid options
this.gridOptions.enableServerSideFilter = true;
this.gridOptions.enableFilter = true;
this.gridOptions.rowModelType = 'infinite';
我不知道问题出在哪里,但我使用的是 TypeScript,ag-grid 网站上提供的示例使用的是 JavaScript。
您使用的是 ServerSideDataSource 吗?
我不认为 AG-Grid 在您使用它时会触发比较器。
但是它确实会再次触发 getRows 方法。
我的 Aurelia 应用程序中有一个 ag-grid(版本 16)。所有列都是可排序的。其中一列需要自定义排序。正如 ag-grid 文档中所解释的,这是可能的:
https://www.ag-grid.com/javascript-grid-sorting/#custom-sorting
他们使用 比较器 为 javascript 提供了示例。初看起来真的很简单。
当我尝试在我自己的代码中使用比较器时(但这次使用的是 TypeScript),此代码从未达到(从未调用过调试器指令)。
下面是我的代码:
constructor(...) {
this.columnDefs = [
{
headerName: "Name",
field: "name",
width: 150
},
...
{
headerName: "Indice",
field: "indice",
width: 90,
sort: 'desc',
comparator: (valueA, valueB) => this.indiceComparator(valueA, valueB);
}
}
private indiceComparator(valueA, valueB) {
debugger;
// Never reached !
return 0;
}
// When initializing my grid options
this.gridOptions.enableServerSideFilter = true;
this.gridOptions.enableFilter = true;
this.gridOptions.rowModelType = 'infinite';
我不知道问题出在哪里,但我使用的是 TypeScript,ag-grid 网站上提供的示例使用的是 JavaScript。
您使用的是 ServerSideDataSource 吗? 我不认为 AG-Grid 在您使用它时会触发比较器。 但是它确实会再次触发 getRows 方法。