网格初始化时如何按列排序table?

How to sort table by column when grid initialize?

我在我的项目中使用 ui-grid。

这是 html 中 table 的声明:

 <div id="grid1" ui-grid="gridOptions1" class="grid"></div>

控制器中 table 的定义如下:

  app.controller('MainCtrl', ['$scope', '$http', 'uiGridConstants', function ($scope, $http, uiGridConstants) {
  $scope.gridOptions1 = {
    enableSorting: true,
    columnDefs: [
      { field: 'name' },
      { field: 'gender' },
      { field: 'company', enableSorting: false }
    ],
    onRegisterApi: function( gridApi ) {
      $scope.grid1Api = gridApi;
    }
  };


 $http.get('https://cdn.rawgit.com/angular-ui/ui-grid.info/gh-pages/data/100.json')
    .success(function(data) {
      $scope.gridOptions1.data = data;
    });

这里正在工作 PLUNKER

我的问题是如何在网格初始化时按性别列对 table 进行排序?

您必须在 columnDef 中设置它以便在初始化网格时进行排序。

  $scope.gridOptions1 = {
    enableSorting: true,
    columnDefs: [
      { field: 'name' },
      { field: 'gender',sort: { direction: uiGridConstants.ASC, priority: 1 } },
      { field: 'company', enableSorting: false }
    ],
    onRegisterApi: function( gridApi ) {
      $scope.grid1Api = gridApi;
    }
  };

如果想先显示男性也可以设置方向为desc

direction: uiGridConstants.DESC

Plunker