我是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?
答案 0 :(得分:2)
得到了解决方案: https://github.com/angular-ui/ng-grid/pull/209
基本指定gridOptions的primaryKey列
$scope.gridOptions.primaryKey = 'FileRowNo';
一切都会起作用