Angularjs ng-grid更改页面但丢失selectedItems

时间:2013-11-29 10:36:10

标签: javascript angularjs pagination

我是AngularJS的新手,我开始与ng-grid集成。根据官方网站http://angular-ui.github.io/ng-grid/,有一个属性“selectedItems”,您可以设置当前范围内所选项目的列表

selectedItems:$scope.mySelectedItems

我没有在当前$ scope.gridOptions中获取所选列表项的问题。但是,我不知道在更改页面时要做什么(使用自定义分页的示例)或者当我需要重新加载当前gridOptions时(例如用户启动了新的搜索creteria)。 我应该在哪里重新初始化selectedItems?

我想到了2个解决方案,但它们无法工作:

1.制作完整的服务器数据列表,并在客户端进行分页。它将保持selectedItems并在我更改页面时在屏幕上正确显示它们。但是当用户启动新搜索时,我在搜索方法中重新初始化selectedItems = []。不幸的是,当我再次在网格中选择时,selectedItems将始终保持为空

2.服务器做分页是非常实际的。在这种情况下,我如何记住selectedItems并在屏幕上正确显示它们?当你更改页面时,Ng-grid的服务器端分页例子有一个错误:它将selectedItems保留在$ scope中但在UI上丢失它们。在这种情况下,我可以在哪里初始化selectedItems?

1 个答案:

答案 0 :(得分:2)

得到了解决方案: https://github.com/angular-ui/ng-grid/pull/209

基本指定gridOptions的primaryKey列

        $scope.gridOptions.primaryKey = 'FileRowNo';

一切都会起作用