Angular UI Grid重新加载单元格模板

时间:2017-08-14 15:00:51

标签: javascript angularjs angular-ui-grid ui-grid

我无法弄清楚如何做一些应该非常简单的事情。

我的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

1 个答案:

答案 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:

Fixed Plnkr here