UI 网格:在保存编辑之前获取行的值

UI Grid: Get value of row before saving edits

当有人开始编辑某行时,我需要获取该行的原始值。

猜想 http://ui-grid.info/docs/#/api/ui.grid.edit.service:uiGridEditService 的 beginEditCell 方法正是这样做的。但是我不知道如何实现它。

这就是我在保存行时调用函数的方式。

$scope.users.onRegisterApi = function(gridApi){

    // Set gridApi on scope
    $scope.gridApi = gridApi;

    // Call $scope.saveRow after finishing editing row
    gridApi.rowEdit.on.saveRow($scope, $scope.saveRow);
};

所以我假设 .beginEditCell() 需要在 .saveRow 之前调用,但我不知道如何调用。

那么你应该使用这个:

gridApi.edit.on.beginCellEdit($scope, function(rowEntity, colDef) {
    //This alert just shows which info about the edit is available
    alert('Column: ' + colDef.name + ' ID: ' + rowEntity.id + ' Name: ' + rowEntity.name + ' Age: ' + rowEntity.age)
});

警报只是为了向您展示如何从行或列定义中检索值。

由于警报从输入中删除了焦点,因此您应该将其删除。

这是一个Plunker

另请参阅有关 afterCellEdit 事件的更详细的

希望这对您有所帮助。