Angularjs和ng网格:如何处理复选框

Angularjs and ng-grid: how handle checkbox

本文关键字:处理 复选框 何处理 ng 网格 Angularjs      更新时间:2023-09-26
在angularjs中,我有一个ng网格,用服务器返回的数据填充。字段"Active"是一个布尔值,所以我制作了一个模板来显示一个复选框:
$scope.gridOptions = { data: 'myData', enableCellSelection: true,
                       enableRowSelection: false, enableCellEdit: true,
                       columnDefs: [{ field: 'Id', displayName: 'Id', visible: false },
                                    { field: 'Name', displayName: 'Name', enableCellEdit: true },
                                    { field: 'Active', displayName: 'Active', enableCellEdit: true, cellTemplate: '<input type="checkbox" ng-model="row.entity.Active" >' }]

现在,当我编辑某个单元格时,我想将编辑后的行保存回数据库,因此我处理ngGridEventEndCellEdit:

$scope.$on('ngGridEventEndCellEdit', function (data) {
   ....
}

事件。实际上,当我编辑单元格"Name"时,会调用上面的处理程序,但当我选中/取消选中复选框Active时,不会调用该事件。当我选中/取消选中复选框时,如何发出ngGridEventEndCellEdit?或者如何处理?

从复选框ng-change函数发出ngGridEventEndCellEdit怎么样?

ng-change="emitEndCellEdit()"

带有

$scope.emitEndCellEdit = function() { $scope.$emit('ngGridEventEndCellEdit') }

尝试将ng change="edit(row("添加到单元格模板中。处理$scope.edit函数中的所有内容。您应该接收作为参数的单击网格数据。