如何在DataGrid底部创建水平滚动条,如GWT CellSampler示例所示?

如何在DataGrid底部创建水平滚动条,如GWT CellSampler示例所示?,gwt,gwtp,gwt-platform,Gwt,Gwtp,Gwt Platform,我喜欢DataGrid,因为它有固定的标题,所以用户向下滚动时仍然可以看到列标题 但是,如果列太多,那么DataGrid将设法在包含它的小部件的固定宽度内容纳所有列 例如,如果将30列DataGrid放在DockLayoutPanel的中心(100px)内,则所有30列都将在100px内平均分配,这将使其无法读取,因为每列的宽度太小 因此,我希望使用DataGrid,但是DataGrid的底部应该有一个水平滚动条,这样如果有很多列,用户就可以向右水平滚动查看数据 如果我们做得正确,那么它应该像G

我喜欢
DataGrid
,因为它有固定的标题,所以用户向下滚动时仍然可以看到列标题

但是,如果列太多,那么
DataGrid
将设法在包含它的小部件的固定宽度内容纳所有列

例如,如果将30列
DataGrid
放在
DockLayoutPanel
的中心(100px)内,则所有30列都将在100px内平均分配,这将使其无法读取,因为每列的宽度太小

因此,我希望使用
DataGrid
,但是
DataGrid
的底部应该有一个水平滚动条,这样如果有很多列,用户就可以向右水平滚动查看数据

如果我们做得正确,那么它应该像GWT CellSampler示例一样

很明显,CellSampler使用了
DataGid
,但我没有看到任何水平滚动条代码


那么,如何使DataGrid像CellSampler示例中那样显示?

您应该设置DataGrid的最小宽度:

myDataGrid.setMinimumTableWidth(600, Unit.PX);

我已经为我的表Datagrid完成了以下操作

     FlowPanel tablePanel = new FlowPanel();
    tablePanel.add( table );
    tablePanel.getElement().setAttribute( "style",
        "overflow-x: auto;width: " + ( Window.getClientWidth() - 37 ) + "px;clear: both" );
    add( tablePanel );

非常感谢安德烈,很好,但有一件小事。我们能动态地做到吗?或者,是否有任何方法可以动态生成它?如果我喜欢这个“dbGrid.setMinimumTableWidth(Integer.MAX_VALUE,Unit.PX);”,它会产生任何问题吗?或者我们可以计算每列的大小并计算所有列的总大小?还有myDataGrid.setMinimumTableWidth(600,Unit.PX);在IE6和早期版本中不起作用。您可以随时设置宽度。