如何禁用SelectionChange之前的选择以选择ng-grid中的所有复选框选项

时间:2014-02-06 18:23:24

标签: javascript angularjs ng-grid

在单击标题中的全选复选框时,使用rowItem数组调用beforeSelectionChange,不允许选择禁止选择。我要求根据模型禁用某行的复选框。我可以使用CheckboxCellTemplate配置ng-disabled。但是我希望在单击全选复选框时不选择禁用的行。有办法吗?

由于

1 个答案:

答案 0 :(得分:0)

使用以下解决方案修复此问题,如果您有更好的解决方案或者您发现此问题,请告诉我。

  $scope.myGridOptions = {
    data: 'gridData',
    enableSorting: false,
    showSelectionCheckbox: true,
    selectedItems: $scope.selectedData,
    selectWithCheckboxOnly: true,
    afterSelectionChange: function (rowItem) { return $scope.updateRowSelection(rowItem); }};


$scope.updateRowSelection = function (rowItem) {
    if (rowItem.length) {
        for(var i = 0 ; i < rowItem.length ; i ++ ) { //Foreach can be used
            if (!$scope.isMySelectionAllowed(rowItem[i].entity)){
                if (rowItem[i].selected) {
                    $scope.myGridOptions.selectRow(rowItem[i].rowIndex, false);
                }
            }
         }
    }
};