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
事件的更详细的 。
希望这对您有所帮助。
当有人开始编辑某行时,我需要获取该行的原始值。
猜想 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
事件的更详细的
希望这对您有所帮助。