GWT:具有固定列大小的Flextable

时间:2013-04-04 19:23:11

标签: css gwt flextable

我需要在GWT中使用FlexTable,我可以在运行时添加项目。 FlexTable位于ScrollPanel内部,因此当水平内容超出显示区域时,会出现滚动条。 问题是当有2-3列时它们间隔很宽,但随着列数增加,单元格所需的最小面积为100px。 我需要确保Cell总是只需要100px。我一直在追随但没有成功。

myflextable.getCellFormatter()。setWidth(0,col,“100px”);

2 个答案:

答案 0 :(得分:0)

请尝试使用getFlexCellFormatter()。setWidth()方法。 请检查您是否将柔性宽度设置为100%。

答案 1 :(得分:0)

问题可能是flextable最初设置得太宽。它将默认填充滚动面板,然后结果列将拉伸到其最大宽度。 您应该在开头明确地设置flextable的宽度,并且在运行时添加更多列时它将自动正确调整大小。

以下是最初有一行和两个100px列的示例:

ft = new FlexTable();
ft.addStyleName("flextable");
ft.setWidth("200px");
for (int x = 0; x < 2; x++) {
    ft.setText(x, 0, "cell");
    ft.getCellFormatter().addStyleName(x, 0, "testcell");
}
scrollpanel.add(ft);

你的css应该这样说:

.flextable {
    table-layout: fixed;
}
.testcell {
    width : 100px;
}

请注意,flextable最初设置为200px宽度,因为我们从两列开始。 在CSS文件中,必须设置table-layout属性,否则当您添加更多列时,列将小于100px(直到单元格达到其最小宽度,由其内容定义)。

另外,请记住将样式名称“testcell”添加到您在运行时添加的任何新单元格。