我试图让一个单元格动态地扩展它的高度。
有没有办法在渲染后调整行的高度(GridRow)?
如果没有,那么我将尝试在网格中使用可扩展的网格或树。
是否可以在特定的细胞/列上显示可扩展的网格?
目前,我看到所有可扩展的网格/树网格占据了父网下的整个行。
由于
答案 0 :(得分:15)
将此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;
}
答案 1 :(得分:5)
您可以在此处查看同一问题的答案:https://github.com/angular-ui/ng-grid/issues/3239#issuecomment-91045267
UI-Grid虚拟化行,这意味着它只渲染一小部分数据,并保留未查看的所有内容。这意味着网格需要知道每一行的高度,以便它可以计算定位。
如果在渲染时必须测量每一行,这会导致浏览器反复重绘,性能会很糟糕。
您会发现其他虚拟化工具(如Ionic的集合重复)具有相同的限制。
<强>更新强>:
回答第二个问题:您可以在GridRow对象上设置public static void getCount(String name) {
Map<Character, Integer> names = new HashMap<Character, Integer>();
for(int i = 0; i < name.length(); i++) {
char c = name.charAt(i);
Integer count = names.get(c);
System.out.println(names.get(c));
System.out.println("the count"+count);
if (count == null) {
count = 0;
}
names.put(c, count + 1);
System.out.println("111111111111");}`
Set<Character> a = names.keySet();
for (Character t : a) {
System.out.println(t + " Ocurred " + names.get(t) + " times");
}
属性(不是您的实体,您可以使用网格API中的getRow来获取GridRow对象)并且网格将渲染行时使用此高度。
还有你的第三个问题:不,expandable只能用于处理整行。可能会根据某些单元格中的点击次数更改子网格中显示的数据类型,但这可能需要对可扩展代码进行一些更改。