如何在 Angularjs UI 中保存选择 - 网格

How to Save Selection in Angularjs UI - Grid

我构建了这个每 3 秒更新一次的 ui-grid

function updateGrid() {
dFactory.getData().then(function(data) {
       $scope.gridOptions.data = data;
});

数据更新正常,但是 selection 会自行删除,我 select 之前的行不会保存。

我试过:

  1. 输入主键 - 没有帮助

  2. 保存状态并在更新后恢复它 - 没有帮助

  3. 更新后手动 select 行 - 没有帮助

我能做什么?

用户 selection(行 selected)状态需要保存在您的数据模型中。 添加一个新字段,例如 'selection' 以保留网格中每行的状态。 然后每次用户 select 一行,调用一个方法来更新 selection state:

$scope.updateSelection(row)
{
   dFactory.updateSelectedRow(row);
   // do other stuffs
}

我是这样解决的:

var state = $scope.gridApi.saveState.save();
                $scope.mydata = response.data;

                $timeout(function() {
                    $scope.gridApi.saveState.restore($scope, state);
                }, 1);