你如何更新ng-grid gridOptions.sortInfo?

EdL*_*EdL 3 angularjs ng-grid

我试图以编程方式更新Angular网格ng-grid上的gridOptions.sortInfo,但我无法让它工作.

我有"名字"和"年龄"栏目.我最初在"名称"列上设置排序,但是想加载一些新数据然后更新它以对"年龄"进行排序.(以编程方式,而不仅仅是单击列标题).

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

请看看plunker:

http://plnkr.co/edit/JBYnrwLAIwFSKS6uSAND?p=preview

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

非常感谢

mar*_*rko 11

是的,根据源代码(这里的第128行链接)你应该能够这样做:

$scope.updateSortInfo = function() {
  $scope.gridOptions.sortBy('name');
}
Run Code Online (Sandbox Code Playgroud)

吸虫表明它有效.我在这里分叉了.

这是从文本框传入sortColumn的另一个版本:plunker.

  • 十分感谢.这是我需要设置列名称,但遗憾的是不处理排序方向(asc/desc).如果更新代码以获取sortInfo对象会很好:例如{fields:['age'],direction:['desc']} (2认同)

小智 5

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