如何在ui-grid angularjs中的标题中添加复选框

时间:2016-07-07 11:51:58

标签: angularjs checkbox angular-ui-grid

我正在使用ui-grid来显示权限。在cellTemplate显示复选框和执行更新...类似选中的复选框和所有复选框选择。现在我想在标题中添加复选框,一旦点击选中以下全部复选框并取消选择全部。如果只有一个选中的' - '符号必须出现.. 。 这是我正在尝试的代码

 angular.forEach($scope.moduleRoles, function (role, key) {
                $scope.mgridOptions.columnDefs.push({name: role, displayName: role, width: 150,headerCellTemplate: "<span> \
        <span  ng-class=\"'colt' + col.index\" class=\"ngHeaderText\"> \
            {{col.displayName}} \
            '<input type=\"checkbox\" ng-model=\"role.checked\" class=\"chckBox\" ng-click=\"checkAll(role.checked);\">' \
        </span> \
    </span>" , cellTemplate: '<input type="checkbox" ng-model="row.entity.roles[\'' + key + '\'].selected" ng-click="grid.appScope.updateModulePerms(row.entity,\'' + key + '\')">'});
            });

$ scope.moduleRoles包含来自服务器的角色数据。 我可以在标题中添加复选框..但是checkAll函数无效,无法更改复选框设计。

我错了。请帮忙

1 个答案:

答案 0 :(得分:0)

您可以使用:

$scope.optionsGrid = {
    enableSelectAll: true,
    enableRowHeaderSelection: true
}

然后为行选择事件添加一个回调函数处理程序:

$scope.gridOptions.onRegisterApi = function (gridApi) {
                $scope.gridApi = gridApi;
                gridApi.selection.on.rowSelectionChanged($scope, callbackFunction);
                gridApi.selection.on.rowSelectionChangedBatch($scope, callbackFunction);
            }
 }