使用最新版本的ui-grid(v3.0.0-rc.16),可以单独关闭水平和垂直滚动条。 我通过交换来实现这个目标
$scope.gridOptions.enableScrollbars = false;
与
$scope.gridOptions.enableHorizontalScrollbar = 0;
$scope.gridOptions.enableVerticalScrollbar = 0;
在ui-grid的源代码中,为滚动条定义了三个常量:
scrollbars: {
NEVER: 0,
ALWAYS: 1,
WHEN_NEEDED: 2
}
面对ui-grid仍然不稳定且经常变化的事实,我觉得使用这些常量而不是特定值会更舒服。但我怎样才能访问它们?
答案 0 :(得分:47)
我在github上得到了答案:
我需要做的就是将uiGridConstants传递给我的控制器:
angular.module('myApp').controller('myCtrl',function($scope,uiGridConstants) {
...
$scope.gridOptions.enableHorizontalScrollbar = uiGridConstants.scrollbars.NEVER;
...
})
答案 1 :(得分:15)
John Papa风格:
ExampleController.$inject = ['$scope', 'uiGridConstants'];
function ExampleController($scope, uiGridConstants) {
var vm = this;
vm.gridOptions = {
enableHorizontalScrollbar : uiGridConstants.scrollbars.NEVER,
enableVerticalScrollbar : uiGridConstants.scrollbars.NEVER
};
}
答案 2 :(得分:11)
此解决方法(因为当前已禁用WHEN_NEEDED)是在gridOptions上设置enableHorizontalScrollbar: 0
,然后在样式表中包含以下内容:
.ui-grid .ui-grid-render-container-body .ui-grid-viewport {
overflow-x: auto !important;
}
现在水平滚动条仅在需要时显示。