我正在使用版本4.0.2
。
所以我用这个配置网格:
scope.gridOptions = {
virtualizationThreshold: scope.pagination.pageSize,
enableSorting: true,
enableCellEditOnFocus: false,
enablePaginationControls: false,
enableFiltering: true,
enableFullRowSelection: true,
enableRowSelection: true,
multiSelect: false,
enableRowHeaderSelection: false,
enableColumnMenus: false,
filterOptions: scope.filter,
noTabInterference:true,
columnDefs: [
{ displayName: 'ID', name: 'id', field: 'id', type: 'number', sort: { direction: 'asc', priority: 0 } },
{ displayName: 'Name', name: 'name', field: 'name' },
默认情况下,它会对ID上的ASC进行排序,图标是一个边缘指向上方的三角形。 当我点击ID的排序图标时,它会在ID上对DESC进行排序,图标是一个边缘指向下方的三角形。 我点击它的运动时间根本没有排序。图标出现但都显示为灰色。
在此功能内:
gridApi.core.on.sortChanged(scope, function (grid, sortColumns) {
console.log(sortColumns);
我第一次点击时看到一个物体。但第二次它有一个空数组。
重点是什么?这应该怎么样?我更喜欢它分为ASC或DESC。删除完全不排序的替代方案。但我找不到任何参数。它应该是上面配置中的一个参数我想?
答案 0 :(得分:1)
以下是用于角度网格中排序的示例。您是否正在更改gridOptions.data?
$scope.sortChanged = function ( grid, sortColumns ) {
console.log(grid);
var data = $gridCtrl.getData("dataAll");
if( sortColumns.length === 0 || sortColumns[0].name !== $scope.gridOptions.columnDefs[0].name ){
$scope.gridOptions.data = data;
} else {
switch( sortColumns[0].sort.direction ) {
case uiGridConstants.ASC:
$scope.gridOptions.data = sortAsc(data);
break;
case uiGridConstants.DESC:
$scope.gridOptions.data = sortDesc(data);
break;
case undefined:
$scope.gridOptions.data = data;
break;
}
}
};
gridApi.core.on.sortChanged( $scope, $scope.sortChanged );