<div class="gridStyle hide" ng-grid="resultsOptions" id="resultsGrid"></div>
定义的下面的网格我想允许多选只有在按下Ctrl键。所以我在Controller中将multiSelect属性定义为false。
$scope.resultsOptions = {
data: 'searchData',
selectedItems: $scope.mySelections,
multiSelect: false,
enableHighlighting: true,
enableRowSelection: true
};
在同一个控制器中,我有以下代码将multiSelect设置为true。
$("#resultsGrid").keydown(function (e) {
if (e.ctrlKey) {
$scope.resultsOptions.multiSelect = true;
$scope.$apply();
}
});
当我按下ctrl后启动应用程序multiSelect值更改。但我仍然无法做出多重选择。
我试图使用multiSelect变量,但它不会改变一件事情。
以下示例也不会更改multiSelect属性。但它会更改网格标题。 http://plnkr.co/edit/RwYSG4?p=preview
有没有简单的解决方案?或者我在代码中错过了什么?
好的解决方案,我用'(e.keyCode == 16 || e.keyCode == 17)'替换'e.keyCode == 17'来处理SHIFT情况。我认为这应该是ng-grid – mabi
的默认行为,有一点需要注意,就是这不能解释这个事实,即在Mac OS X上的ctrl等价物是命令(so,e.metaKey) –