作者建议来自this link:
table.setWidth("100%", true);
table.setColumnWidth(nameColumn, 35.0, Unit.PCT);
table.setColumnWidth(addressColumn, 65.0, Unit.PCT);
要使CellTable列宽有效,但是在我的项目中nameColumn
包含一个超长的文本,那么此列将占据几乎所有的浏览器视图,显然列宽不起作用,任何人都可以了解一下此?
nameColumn
定义如下:
TextColumn<Person> nameColumn = new TextColumn<Person>()
{
@Override
public String getValue( Person object )
{
return object.getUserName();
}
};
答案 0 :(得分:0)
您可以使用以下方法在列单元格上设置自定义样式:
nameColumn.setCellStyleNames("name-cell");
为单元格生成以下结构(在DOM
中):
<td class="xxxxxxxx xxxxxx name-cell">
<div style="outline:none;">Very long name ...</div>
</td>
因此,您必须定义以下css
类来设置所需的样式并限制单元格和文本大小:
.name-cell {
...
}
.name-cell div {
...
}
<强>更新强>
我测试了方法table.setColumnWidth(
,对我来说效果很好。
我是这样做的:
由UI活页夹构建的表
创建列
设置表格宽度
向表中添加列
设置列宽(使用table.setColumnWidth
)
计算单元格宽度时,请不要忘记考虑填充。
使用GWT 2.4