我需要根据某些条件为视图启用和禁用rowSelection。这里的问题是,多个视图使用相同的html和controller。我需要为特定视图禁用rowSelection,在其他情况下启用该功能。
我尝试过这些。 1)为enableRowselection分配了一个函数,该函数将返回布尔值(无效) 2)也尝试过isRowSelectable。(无效)
代码如下。不确定是否以正确的方式实现。我是AngularJS和ui-grid的初学者 1)
$scope.gridOptions = {
enableRowSelection: isSelectionEnabled
}
isSelectionEnabled():boolean {
var seletionEnabled = true;
if (doesn't satisfy condition) {
seletionEnabled = false;
}
return seletionEnabled ;
}
2)
$scope.gridOptions = {
isRowSelectable: function() {
if(satisfies condition) return true;
return false;
},
}
答案 0 :(得分:1)
我假设您知道是否要在创建ui-grid时启用行选择。 尝试类似的东西:
$scope.gridOptions.onRegisterApi = function(gridApi) {
$scope.gridApi = gridApi;
$scope.gridOptions.enableRowSelection = $scope.isSelectionEnabled();
};
$scope.isSelectionEnabled = function() {
// some logic here to determine whether to enable rowselection or not
return true; // or false
};
创建ui网格后,您几乎可以在任何地方更改$scope.gridOptions.enableRowSelection
。
请参见this plunker以获取示例和/或尝试一下是否符合您的要求。
答案 1 :(得分:0)
正确的属性是“ enableRowSelection”,请尝试以下操作:
$scope.gridOptions = {
enableRowSelection: function () {
if(condition){
return true
}
return false;
}
}