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

时间:2017-12-10 10:17:16

标签: angularjs angular-ui-grid

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

这是html中表格的声明:

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

这是控制器中表格的定义:

  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

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

1 个答案:

答案 0 :(得分:2)

你必须在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