我在gwt 2.4中遇到DataGrid问题。我用CellTable做了表,一切都很好。但我需要修复标头,然后用DataGrid替换CellTable。我有.css文件的问题,但已经解决了。
现在,问题是每一列都有固定的宽度,而且表格的每一行都只是在屏幕的可见部分。
这是新旧屏幕截图,使事情更清晰:)
http://img832.imageshack.us/img832/5026/oldscreenshot.jpg
http://img834.imageshack.us/img834/1489/newscreenshot.jpg
有人可以帮助老看,但有固定标题。
答案 0 :(得分:5)
您可以为数据网格的每一列设置固定宽度:
dataGrid.setColumnWidth(sampleColumn, 40, Unit.PX);
并展开总数据网格宽度:
dataGrid.setWidth("100%"); // choose the most useful in your app
dataGrid.setWidth("1400px");
答案 1 :(得分:2)
我不确定答案是什么,但我不认为以前的答复者理解这个问题。 基本上,您希望dataGrid使用“table-layout:auto”而不是“fixed”。这就是cellTable的作用。表列根据内容自动调整大小。 对于内容表来说这很容易,但是为了得到header-freeze,dataGrid正在为标题使用单独的div / table。因此,需要根据数据表显式调整头表的列。它们还需要在表更改时调整大小(浏览器调整大小等)。我打算在dataGrid上添加可调整大小的cols,所以我很快就会遇到同样的挑战,如果有人还在跟踪这个帖子,我会更新一些...
答案 2 :(得分:0)
需要使用内部div将您的内容包装在您的td中。并确保overflow-x设置为隐藏。
table {
overflow: hidden;
white-space: nowrap;
table-layout: fixed;
}
td div{
overflow-x:hidden;
}