如何将行字段值传递给'enableCellEdit'属性?

时间:2016-06-03 13:02:18

标签: javascript angularjs angular-ui-grid

在Angular UI-Grid表中,我有一个日期列(referenceDate),我希望根据一个名为“允许”的标志启用/禁用编辑,该标志是行值的一部分。 / p>

如何在'enableCellEdit'属性中传递此行值?

这是我的代码片段。 我尝试使用'row.entity.allowed',但它没有用。并得到错误 错误:未定义行

$scope.gridOptions.columnDefs = [ 
    {
        field : "referenceDate", width : "15%", enableCellEdit: row.entity.allowed, type: 'date', cellFilter: 'date:"yyyy-MM-dd"',
    }, 
    {
        field : "manuallyUpdated", width : "10%", cellEditableCondition: false, cellTemplate: '<input type="checkbox" ng-model="row.entity.manuallyUpdated" disabled="true" style="zoom:1.5" >'
    }
];

JSON数据

{
    "referenceDate": "2015-09-30",
    "allowed": true,
    "manuallyUpdated": true
}

1 个答案:

答案 0 :(得分:2)

基本上,在为enableCellEdit设置值时,您无法访问外部示波器 你应该使用cellEditableCondition并传递一个像这样的函数 -

function($scope){
  return $scope.row.entity.allowed;
}

来自文档:

  

如果指定,则在编辑之前评估值或函数   细胞。如果是假的,则不允许编辑单元格。