gwt - 如何让 GXT 网格占据所有可用宽度?

标签 gwt grid gxt

我在 GXT 中有一个网格,如下所示:

List<ColumnConfig> configs = new ArrayList<ColumnConfig>();
ColumnConfig config = new ColumnConfig();
config.setId("type");
config.setHeader("Type");
config.setWidth(50);
configs.add(config);
config = new ColumnConfig();
config.setId("text");
config.setHeader("Info");
config.setWidth(75);
configs.add(config);

columnModel = new ColumnModel(configs);
listStore = new ListStore<DtoModel>();

grid = new Grid<DtoModel>(listStore, columnModel);
grid.setAutoHeight(true);
grid.setAutoWidth(true);

VerticalPanel verticalPanel = new VerticalPanel();
verticalPanel.setLayout(new FillLayout());
verticalPanel.add(grid);

这可以很好地创建网格,但有一个异常(exception)——宽度限制为列宽之和。当我放弃列宽时,网格最终宽度为 0。

有没有办法让这个网格及其列扩展以填充其可用的整个区域?

编辑: 困难之一是 ColumnConfig.setWidth() 方法仅采用 int 作为参数,所以我可以' t 将“100%”指定为字符串或类似的内容。

最佳答案

这样做的方法是:

grid.getView().setAutoFill(true);

这里有一个要记住的关键点:使用 setAutoFill() 调整列大小时,gxt 将始终调整所有其他列的大小,以便网格继续适合容器。如果没有自动填充,如果您只使用自动扩展列,如果您调整一列的大小,网格可能会变得比包含组件更大(或更小),在这种情况下,您必须手动调整网格大小以适应 - 这不仅仅是一个痛苦,在大多数情况下,这对于最终用户来说几乎是不可能的。

关于gwt - 如何让 GXT 网格占据所有可用宽度?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3917205/

相关文章:

css - Bootstrap Grid 响应式断行

javascript - 前端 : Internet Explorer problems

javascript - 在 GWT 中使用 SVG

java - 如何在 AppEngine 中使用 JPA 2 获取实体、在 GWT 中更新并保存?

css - 删除小屏幕上的偏移

java - GXT 网格行不可选择

java - 如何在 GXT 中合并网格单元格

java - 为什么如果我们将 HandlerRegistration 放入一个方法中,我们就无法删除Handler?

gwt - 将自定义样式附加到 GWT CellTable(在本例中为所有单元格)