Javascript 如何使用beforeSelectionChange禁止在ng网格中选择所有复选框

Javascript 如何使用beforeSelectionChange禁止在ng网格中选择所有复选框,javascript,angularjs,ng-grid,Javascript,Angularjs,Ng Grid,单击标题中的“全选”复选框时,将使用rowItem数组调用beforeSelectionChange,没有禁止选择的选项。我需要根据型号禁用某些行的复选框。我可以使用CheckboxCellTemplate在禁用ng的情况下进行配置。但我希望在单击“全选”复选框时不要选中禁用的行。有办法吗 谢谢使用下面的解决方案修复了此问题,如果您有更好的解决方案或发现此问题,请告诉我 $scope.myGridOptions = { data: 'gridData', enableSort

单击标题中的“全选”复选框时,将使用rowItem数组调用beforeSelectionChange,没有禁止选择的选项。我需要根据型号禁用某些行的复选框。我可以使用CheckboxCellTemplate在禁用ng的情况下进行配置。但我希望在单击“全选”复选框时不要选中禁用的行。有办法吗


谢谢

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

  $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);
                }
            }
         }
    }
};
$scope.myGridOptions={
数据:“gridData”,
启用排序:false,
showSelectionCheckbox:true,
selectedItems:$scope.selectedData,
仅选择WithCheckbox:true,
afterSelectionChange:function(rowItem){return$scope.updateRowSelection(rowItem);};
$scope.updateRowSelection=函数(行项){
if(rowItem.length){
对于(var i=0;i