ng-grid更改排序更改的排序顺序

时间:2014-04-16 08:36:18

标签: javascript angularjs ng-grid

我正在使用ng-grid,我已经在其上实现了搜索功能,但我想通过更改下拉值来更改orderby选项。

我希望提供有关其价值数据更改的下拉信息。

默认情况下排序功能可以点击表标题,但我需要在更改下拉列表时更改排序顺序。

这个代码我来自某个地方,但我不知道如何使用它?

 $scope.gridOptions = { 
  data: 'gridData',
    columnDefs: [
      {field: 'name', displayName: 'Name'}, 
      {field:'ageWord', displayName: 'Age'}
    ],
    sortInfo: {
      fields: ['age'],
      directions: ['asc']
    }
};

4 个答案:

答案 0 :(得分:1)

您需要为网格选项的sortInfouseExternalSorting定义值,如下所示:

$scope.gridOptions.useExternalSorting = true;

$scope.gridOptions.sortInfo = {
  fields: [$scope.selectedDropDownOption],  // <-- or whatever variable used to store selected option from dropdown
  directions: ['asc']
};

答案 1 :(得分:0)

例如:如果您想按name排序,可以设置

sortInfo: { fields: ['name'], directions: ['asc']}

这将按名称和升序排序您的网格 您还想在useExternalSorting = true中设置gridOptions

我建议您查看docuexamples页面

答案 2 :(得分:0)

我使用了以下代码,,,

HTML:

  <input type="text" ng-model="sortColumn"></input>   
  <button type="button" class="btn" ng-click="updateSortInfo()">Sort</button>

aap.js ::

$scope.updateSortInfo = function() {
      $scope.gridOptions.sortBy($scope.sortColumn);
    }

答案 3 :(得分:0)

在寻找类似事物的解决方案时到达这里。在尝试了所有选项后,我已经应用了这个。

//Disable Grid Ui Sorting through header
    $scope.gridOptions.enableSorting = false;
//Apply angular 'orderBy' filter to data for grid ui
    $scope.resultSetTable = $filter('orderBy')($scope.gridData, 'YOUR_SORT_COLUMN');
// Apply data to grid ui
    $scope.gridOptions.data = $scope.resultSetTable;