我正在尝试使角度ui-grid自动调整高度,以便显示所有行而不需要其滚动条,但如果网格中只有几行,则不会浪费空间。有人问了一个类似的问题(Angular ui-grid dynamically calculate height of the grid),但这个问题预先假定行高是不变的。如果行高不同(例如,因为您启用了自动换行),则问题的解决方案(https://stackoverflow.com/a/28706349/877570)将无效,因为问题的解决方案假设行高不变。如果我有一个包含大量文本的单元格,并且文本换行到下一行,则行高度不同。
我在这里找到了用户anhkind的可能解决方案:(https://github.com/angular-ui/ui-grid/issues/1735)
.ui-grid, .ui-grid-viewport {
height: auto !important;
}
“当然,minRowsToShow和virtualizationThreshold应该设置为列表的大小。”
但是,当我部署他的解决方案时,网格渲染需要更长的时间。
有谁知道如何解决这个问题或者有其他解决方案?
答案 0 :(得分:0)
$scope._minRows = 10;
$scope._maxRows = 10;
// Lots of Grid Options, plus data setting going on here.
$scope.agendaItemsGridOptions.onRegisterApi = function(gridApi) {
//set gridApi on scope
$scope.gridApi = gridApi;
});
var setMinRowsLogic = function() {
$scope.gridApi.grid.options.minRowsToShow = $scope._minRows;
if (!_.isUndefined($scope.agendaItemsGridOptions.data)) {
var len = $scope.agendaItemsGridOptions.data.length;
if (len > $scope._maxRows) {
$scope.gridApi.grid.options.minRowsToShow = $scope._maxRows;
} else
if (len < $scope._minRows) {
$scope.gridApi.grid.options.minRowsToShow = $scope._minRows;
} else {
$scope.gridApi.grid.options.minRowsToShow = len;
}
}
};