我尝试检测单元格编辑,但以下代码未获取事件。我使用“名称”:“ angular-ui-grid”,“版本”:“ 3.0.0-rc.14”,是否必须定义一些配置来获取事件?
$scope.$on('ngGridEventEndCellEdit', function(data) {
Run Code Online (Sandbox Code Playgroud)
小智 5
我将默认行模板更新为如下所示
rowTemplate: '<div ng-class="{\'row-changed\':row.entity.State==\'changed\'}" ng-click="grid.appScope.fnOne(row)" ng-repeat="col in colContainer.renderedColumns track by col.colDef.name" class="ui-grid-cell" ui-grid-cell></div>',
Run Code Online (Sandbox Code Playgroud)
然后在onRegisterApi中
onRegisterApi: function( gridApi ) {
$scope.gridApi = gridApi;
$scope.gridApi.edit.on.afterCellEdit($scope,function(rowEntity, colDef, newValue, oldValue){
if(newValue != oldValue)
rowEntity.State = "changed";
})
}
Run Code Online (Sandbox Code Playgroud)
现在,如果实体的状态为“更改”,则该行将获得“行更改”类。
如果单元格变回其原始值,则可能要添加一些额外的检查,但这是另一个问题。
小智 1
您对正在编辑的单元格或绑定的数据感兴趣吗?
我向绑定的数据源添加了深度监视,当数组中的任何项目发生更改时,该监视将触发。
unbindWatch = $scope.$watch("array", function (newValue, oldValue) {
if (newValue != oldValue) {
vm.isDirty = true;
}
}, true);
Run Code Online (Sandbox Code Playgroud)
$watch 返回一个解除手表绑定的方法,停止寻找变化。所以只需执行返回的方法即可结束监视。
| 归档时间: |
|
| 查看次数: |
10238 次 |
| 最近记录: |