我想做的是在我的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