javascript - ngGrid 对整个结果集进行排序

标签 javascript angularjs ng-grid

我希望在 ngGridSorted 事件中通过单击的排序功能对整个结果集(而不仅仅是页面)进行排序。是否有捷径可寻?除了用户当前所在的页面之外,我还没有看到如何对任何内容进行排序的好示例。

最佳答案

事实上,您可以使用服务器端分页选项,而无需实际使用服务器端代码。

ng-grid 演示中的示例也只是加载了一个大的 json 文件。

需要重写的函数是:

 $scope.getPagedDataAsync = function (pageSize, page, searchText)

您可以在此处放置能够搜索和拼接数组的逻辑,而不是加载文件。

不需要仅仅因为函数名称中有 async 而执行异步操作。

Lo-DashUnderscore 等具有数组操作函数的库在这方面有很大帮助。

更新:

因为我发现演示不包括排序(Doh!)我给你做了这个 Plunker这是官方服务器端分页演示的扩展版本,还具有排序和非服务器数组的功能。

代码有点复杂。看看你是否理解,或者有问题回来。

排序算法不是很优化。事实上我是从here拿来的(再次感谢大卫!)

关于javascript - ngGrid 对整个结果集进行排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25128833/

相关文章:

javascript - 悬停时动态视频缩略图

javascript - 在 Canvas 上绘制临时圆

javascript - ng-grid:服务在初始渲染时被调用两次

angularjs - 在 UI-Grid 标题中实现多列分组的任何更好的方法?

angularjs - 使用 ng-grid : binding issue? 进行服务器端过滤

javascript - 立即导航到第一个 <p :menuitem> when <p:submenu> itself is clicked

javascript - 将 C++ 虚拟方法绑定(bind)到具有覆盖功能的 js

javascript - 使用 pdfMake 下载多个文件

javascript - 如何在充满 ng-options 的 Angularjs 选择中预先选择一个选择选项

javascript - AngularJS 与 AngularFire 0.5.0 - $remove 项目不起作用