我正在使用ag-grid来生成一些表.到目前为止它一直很棒.但是我在排序方面遇到了一些困难,因为我的表有一些小写的数据,我希望我的排序函数忽略大小写并对它们进行排序只是区分大小写.
可以完成这项工作的两个功能是cellRenderer和sort函数.
cellRenderer函数:
cellRenderer: function(params) { if (params.value=='Police') { return 'POLICE'; } else { return params.value.toUpperCase(); } }
排序功能:
$scope.sortByAthleteAsc = function() { var sort = [ {field: 'athlete',sort: 'asc'} ]; $scope.gridOptions.api.setSortModel(sort); };
解决方法
将比较器放在colDef上.如下:
colDef.comparator = function(valueA,valueB,nodeA,nodeB) { // here valueA and valueB are the items to be compared return valueA.toLowerCase().localeCompare(valueB.toLowerCase()); }
您还可以获得行节点,您可以在其中访问完整行数据,而不仅仅是col的特定值.