Angularjs 如何更新ng grid gridOptions.sortInfo?

Angularjs 如何更新ng grid gridOptions.sortInfo?,angularjs,ng-grid,Angularjs,Ng Grid,我试图以编程方式更新角度网格ng网格上的gridOptions.sortInfo,但无法使其正常工作 我有“姓名”和“年龄”两个栏。我最初在“name”列上设置排序,但希望加载一些新数据,然后将其更新为“age”排序。(以编程方式,而不仅仅是单击列标题) 我可以将$scope.gridOptions.sortInfo设置为一个新值,但网格并不反映这一点。更新gridOptions.sortInfo的正确方法是什么 请参见plunker: 编辑:请注意,我希望能够更新排序方向,即升序/降序以及要

我试图以编程方式更新角度网格ng网格上的gridOptions.sortInfo,但无法使其正常工作

我有“姓名”和“年龄”两个栏。我最初在“name”列上设置排序,但希望加载一些新数据,然后将其更新为“age”排序。(以编程方式,而不仅仅是单击列标题)

我可以将$scope.gridOptions.sortInfo设置为一个新值,但网格并不反映这一点。更新gridOptions.sortInfo的正确方法是什么

请参见plunker:

编辑:请注意,我希望能够更新排序方向,即升序/降序以及要排序的实际列


非常感谢

是的,根据源代码(此处第128行),您应该可以这样做:

$scope.updateSortInfo = function() {
  $scope.gridOptions.sortBy('name');
}
plunker表明它是有效的。我


下面是另一个从文本框传入sortColumn的版本:。

结果是,如果在同一列上调用
$scope.gridOptions.sortBy()
两次,它将按降序排序。

看看这个:

搜索此文本:

排序 排序信息的对象,属性为:

我需要在开始时按id列按desc顺序进行排序,这就完成了我的工作:

var columnsDef = [
            {name:'id',width:50,sort: {
                direction: 'desc',
                priority: 0
            }},
            {name:'title',width:350},
            {name:'address'},
            {name:'date',width:150},
            {name:'description',minWidth:450}
        ];
$scope.theGrid.columnDefs = columnsDef;

我也很想知道这个。。。到目前为止,我已经多次看到以如何更改网格列的形式出现的问题,但还没有看到答案。。。也许挖掘源头是必要的。太好了,谢谢。这就是我需要设置列名的地方,但不幸的是,它不能处理排序方向(asc/desc)。如果代码被更新为采用sortInfo对象,那就好了:例如{fields:['age'],directions:['desc']}