角网格显示间歇性错误

时间:2017-05-23 12:51:39

标签: angularjs

我正在使用版本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。删除完全不排序的替代方案。但我找不到任何参数。它应该是上面配置中的一个参数我想?

1 个答案:

答案 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 );