正在尝试刷新 Angular Ui-网格取消编辑点击
Trying to refresh Angular Ui-Grid on Cancel Edit click
我正在使用 Angular ui-网格。我正在尝试完成一些应该相当简单但找不到任何有用的东西。我想要做的就是允许用户编辑网格,然后可以选择单击取消按钮:
<icon name="cancel" ng-disabled="$ctrl.canceldisabled" ng-click="$ctrl.cancelBSS()" size="20px" title="Cancel"></icon>
此图标基本上会刷新网格,或将网格单元格设置回其上次保存的值。在这种情况下,仅仅刷新网格不就可以了吗:
public cancelBSS() {
ctrl.gridApi.grid.refresh();
};
我已经尝试了大多数 api 选项 - notifyDataChange,我已经尝试将 gridOptions.data 重置回其上次保存的状态,但两者都没有做任何事情。
没有任何变化。
您可以尝试在开始单元格编辑时保存旧值,然后在单击按钮时恢复它:
$scope.gridOptions.onRegisterApi = function(gridApi) {
gridApi.edit.on.beginCellEdit(null, function (rowEntity, colDef, newValue, oldValue) {
$scope.savedCell = {
entityHashKey: rowEntity.$$hashKey,
field: colDef.field,
value: rowEntity[colDef.field]
}
});
}
$scope.cancelEdit = function() {
var row = $scope.gridApi.grid.rows.find(function(row) {
if($scope.savedCell != null)
return row.entity.$$hashKey == ctrl.savedValue.entityHashKey;
})
if(row == undefined)
return;
row.entity[$scope.savedCell.field] = $scope.savedCell.value;
}
我正在使用 Angular ui-网格。我正在尝试完成一些应该相当简单但找不到任何有用的东西。我想要做的就是允许用户编辑网格,然后可以选择单击取消按钮:
<icon name="cancel" ng-disabled="$ctrl.canceldisabled" ng-click="$ctrl.cancelBSS()" size="20px" title="Cancel"></icon>
此图标基本上会刷新网格,或将网格单元格设置回其上次保存的值。在这种情况下,仅仅刷新网格不就可以了吗:
public cancelBSS() {
ctrl.gridApi.grid.refresh();
};
我已经尝试了大多数 api 选项 - notifyDataChange,我已经尝试将 gridOptions.data 重置回其上次保存的状态,但两者都没有做任何事情。 没有任何变化。
您可以尝试在开始单元格编辑时保存旧值,然后在单击按钮时恢复它:
$scope.gridOptions.onRegisterApi = function(gridApi) {
gridApi.edit.on.beginCellEdit(null, function (rowEntity, colDef, newValue, oldValue) {
$scope.savedCell = {
entityHashKey: rowEntity.$$hashKey,
field: colDef.field,
value: rowEntity[colDef.field]
}
});
}
$scope.cancelEdit = function() {
var row = $scope.gridApi.grid.rows.find(function(row) {
if($scope.savedCell != null)
return row.entity.$$hashKey == ctrl.savedValue.entityHashKey;
})
if(row == undefined)
return;
row.entity[$scope.savedCell.field] = $scope.savedCell.value;
}