【发布时间】:2015-08-27 08:37:19
【问题描述】:
我试图让一个单元格动态扩展它的高度。
有没有办法在渲染后调整行(GridRow)的高度?
如果没有,那么我会尝试使用可扩展的网格或网格中的树。
是否可以在特定单元格/列之外显示可扩展的网格?
目前我看到所有可扩展网格/树形网格占据了父级下方的整行。
谢谢
【问题讨论】:
标签: angular-ui-grid
我试图让一个单元格动态扩展它的高度。
有没有办法在渲染后调整行(GridRow)的高度?
如果没有,那么我会尝试使用可扩展的网格或网格中的树。
是否可以在特定单元格/列之外显示可扩展的网格?
目前我看到所有可扩展网格/树形网格占据了父级下方的整行。
谢谢
【问题讨论】:
标签: angular-ui-grid
将此CSS添加到您的样式中:
.ui-grid-viewport .ui-grid-cell-contents {
word-wrap: break-word;
white-space: normal !important;
}
.ui-grid-row, .ui-grid-cell {
height: auto !important;
}
.ui-grid-row div[role=row] {
display: flex ;
align-content: stretch;
}
【讨论】:
div.ui-grid-cell 来否决并使其正常工作。谢谢!
您可以在此处查看同一问题的答案:https://github.com/angular-ui/ng-grid/issues/3239#issuecomment-91045267
UI-Grid 将行虚拟化,这意味着它只呈现数据的一小部分,而不会呈现所有不在视图中的数据。这意味着网格需要知道每行的高度,以便计算定位。
如果它必须在渲染时测量每一行,这将导致浏览器一遍又一遍地重新绘制,性能会很糟糕。
您会发现其他虚拟化工具(如 Ionic 的 collection-repeat)也有同样的限制。
更新:
回答你的第二个问题:你可以在 GridRow 对象上设置一个height 属性(不是你的实体,你可以使用网格 API 中的getRow 来获取 GridRow 对象),当渲染行。
您的第三个问题:不,可扩展仅用于处理整行。可以根据某些单元格中的点击来更改子网格中显示的数据类型,但这需要对可扩展代码进行一些更改。
【讨论】: