如何在Angular JS中使用gridOption-enableRowselection动态更改ui-grid

时间:2019-03-28 17:52:49

标签: angularjs angular-ui-grid

我需要根据某些条件为视图启用和禁用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; 
               },
}

2 个答案:

答案 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; 
    }
}