我找到了解决方案。您可以使用网格列的 cellEditableCondition 属性。如果将此功能应用于此属性,则可以动态启用/禁用单元格。这是一个笨蛋:
$scope.canEdit = function () { return $scope.pageOptions.isView; };
$scope.pageOptions = { isView : false};
$scope.gridOptions1 = {
enableRowSelection: true,
enableSelectAll: true,
enableFiltering: true,
columnDefs: [
{ name: 'name', width: '30%',cellEditableCondition: $scope.canEdit },
{ name: 'gender', width: '20%',cellEditableCondition: $scope.canEdit },
{ name: 'age', width: '20%',cellEditableCondition: $scope.canEdit },
{ name: 'company', width: '25%',cellEditableCondition: $scope.canEdit },
{ name: 'state', width: '35%',cellEditableCondition: $scope.canEdit },
{ name: 'balance', width: '25%',cellEditableCondition: $scope.canEdit }
],
isRowSelectable:function(row){if(row.entity['age']>30) return true; return false;},
onRegisterApi: function( gridApi ) {
$scope.gridApi = gridApi;
}
};
http://plnkr.co/edit/md9AOA64Zn67KqhNmhZT?p=preview