Angularjs ng网格更改页面,但丢失selectedItems

Angularjs ng-grid change page but lose selectedItems

本文关键字:selectedItems ng 网格 Angularjs      更新时间:2023-12-03

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

selectedItems:$scope.mySelectedItems

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

我想到了两个解决方案,但它们不起作用:

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

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

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

基本指定gridOptions 的primaryKey列

        $scope.gridOptions.primaryKey = 'FileRowNo';

所有的东西都能正常工作