我希望在 ngGridSorted
事件中通过单击的排序功能对整个结果集(而不仅仅是页面)进行排序。是否有捷径可寻?除了用户当前所在的页面之外,我还没有看到如何对任何内容进行排序的好示例。
最佳答案
事实上,您可以使用服务器端分页选项,而无需实际使用服务器端代码。
ng-grid 演示中的示例也只是加载了一个大的 json 文件。
需要重写的函数是:
$scope.getPagedDataAsync = function (pageSize, page, searchText)
您可以在此处放置能够搜索和拼接数组的逻辑,而不是加载文件。
不需要仅仅因为函数名称中有 async 而执行异步操作。
Lo-Dash
或 Underscore
等具有数组操作函数的库在这方面有很大帮助。
更新:
因为我发现演示不包括排序(Doh!)我给你做了这个 Plunker这是官方服务器端分页演示的扩展版本,还具有排序和非服务器数组的功能。
代码有点复杂。看看你是否理解,或者有问题回来。
排序算法不是很优化。事实上我是从here拿来的(再次感谢大卫!)
关于javascript - ngGrid 对整个结果集进行排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25128833/