我要做的是在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动态更改配置设置?是否有可以监听的事件来刷新网格?
答案 0 :(得分:1)
无法动态更改 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;
}
});
答案 1 :(得分:0)
当您处理少量数据时,2个网格(隐藏一个并显示另一个)解决方法是一个很好的解决方案,但如果您需要管理数千个记录,则需要从一个网格切换到另一个网格转得很慢。希望(ng-grid)组件的开发人员在不久的将来找到解决这个问题的好方法。