angular ui-网格禁用查看模式编辑
angular ui-grid disable edit for view mode
有没有办法 disable/enable 编辑网格的单元格。例如,我有一个主从表单屏幕。当用户想要分析记录时,我使用 ng-disabled 禁用表单的所有控件。但我无法阻止编辑网格。我尝试了 "cellEditableCondition" 选项。但是,我只在加载网格时运行。如果网格具有 "disableEdit" 之类的选项并接受范围变量,那就太好了。当我在编辑模式下打开表单时,网格将是可编辑的,而在查看模式下网格将被禁用。
我找到了解决办法。您可以使用网格列的 cellEditableCondition 属性。如果将函数应用到此属性,则可以 enable/disable 动态单元格。这是一个笨蛋:
$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;
}
};
有没有办法 disable/enable 编辑网格的单元格。例如,我有一个主从表单屏幕。当用户想要分析记录时,我使用 ng-disabled 禁用表单的所有控件。但我无法阻止编辑网格。我尝试了 "cellEditableCondition" 选项。但是,我只在加载网格时运行。如果网格具有 "disableEdit" 之类的选项并接受范围变量,那就太好了。当我在编辑模式下打开表单时,网格将是可编辑的,而在查看模式下网格将被禁用。
我找到了解决办法。您可以使用网格列的 cellEditableCondition 属性。如果将函数应用到此属性,则可以 enable/disable 动态单元格。这是一个笨蛋:
$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;
}
};