我想做的是在我的gridOptions中使用“ showSelectionCheckbox:”设置,并将其从false更改为true,并使我的ng-grid显示或隐藏ng-grid默认复选框。

我的代码成功更改了值,但是更改未反映在网格上。

$ scope.saveTest()通过ng-click绑定到一个按钮。

$scope.gridOption = {
  data: 'myData',
  showSelectionCheckbox: false,
  ....
}

$scope.saveTest = function () {
  $scope.gridOption.showSelectionCheckbox = true;
}


所以我的问题是,甚至可以通过ng-grid快速更改配置设置吗?是否有可以监听刷新网格的事件?

最佳答案

无法动态地更改showSelectionCheckbox属性,但是始终存在使用2个网格并根据选择显示其中一个网格的丑陋解决方法。

例:

的HTML:

<button ng-click="changeGrid()">test</button>
<div class="gridStyle" ng-if="!showSelectionCheckbox" ng-grid="gridOptions"></div>
<div class="gridStyle" ng-if="showSelectionCheckbox" ng-grid="gridOptions2"></div>


js:

var app = angular.module('myApp', ['ngGrid']);

app.controller('MyCtrl', function($scope, $http) {
  $scope.showSelectionCheckbox=false;
    $scope.myData = [{"name": "Moroni", "allowance": 50},
              {"name": "Tiancum", "allowance": 53},
              {"name": "Jacob", "allowance": 27},
              {"name": "Nephi", "allowance": 29}],

    $scope.gridOptions = {
        data: 'myData',
        showSelectionCheckbox: false,
        };
       $scope.gridOptions2 = {
        data: 'myData',
        showSelectionCheckbox: true,
        };

 $scope.changeGrid = function () {
  $scope.showSelectionCheckbox=!$scope.showSelectionCheckbox;
 }
});


实时示例:http://plnkr.co/edit/4u7iz7R8EKXdoNnoR5MS?p=preview

08-18 15:28
查看更多