我无法弄清楚如何做一些应该非常简单的事情。
我的UI网格中有10列,它们都是可编辑的。我的目标是动态" 禁用"或者让他们成为" 必需"输入,取决于范围对象的选项。
对象:
$scope.columnOptions = {
'column1': 'MANDATORY',
'column2': 'DISABLED'....
}
细胞模板
cellTemplate: '<input ng-disabled="{{ grid.appScope.columnOptions.column1=== \'DISABLED\' }}" ' +
'ng-required="{{ grid.appScope.columnOptions.column1=== \'MANDATORY\' }}" ' +
'data-ng-model="row.entity.column1" style="width:95%">'
如果对象在初始化时存在,则此方法有效。
问题是,当我更改columnOptions的值时,行不会更新。
我尝试了不同的ui-grid API来重新加载我的模板,但它不起作用:
$scope.gridApi.core.refresh();
$scope.gridApi.core.raise.reloadData();
$scope.gridApi.core.refreshRows();
$scope.gridApi.core.notifyDataChange('all');
我已经添加了一个plunker:http://plnkr.co/edit/3bIrtJuwHNrTeltIPAXw?p=preview
答案 0 :(得分:1)
您的单元格模板不正确:
cellTemplate: '<input ng-disabled="grid.appScope.columnOptions.column1=== \'DISABLED\'" ' +
'ng-required="grid.appScope.columnOptions.column1=== \'MANDATORY\' " ' +
'data-ng-model="row.entity.column1" style="width:95%">'
您不会在{{}}
相关语法中使用ng-
,因为它已将其解析为angular: