gpt4 book ai didi

java - GWT DataGrid 不显示,CellTable 却显示

转载 作者:行者123 更新时间:2023-12-01 11:06:29 24 4
gpt4 key购买 nike

概述

我有一个由 SplitLayoutPanel 组成的应用程序,该应用程序有一个 StackLayoutPanel,左侧有两个菜单选项,右侧有一个 DeckLayoutPanel。 DeckLayoutPanel 有两个子面板,一个是包含 Label 的 SimpleLayoutPanel,另一个是包含 Label 和另一个 SimpleLayoutPanel 的 DockLayoutPanel。最后一个 SimpleLayoutPanel 包含一个 DataGrid。


分割布局面板(测试UI)
|
+ 堆栈布局面板
| |
| + 单元列表(配置文件)
| |
| + 单元列表(管理员)
|
+ DeckLayoutPanel
|
+ 简单布局面板
| |
| + 标签
|
+ DockLayoutPanel(预算面板)
|
+ 标签
|
+ 简单布局面板(LedgerPanel)
|
+ 数据网格

所有子面板的高度和宽度均通过其包含的面板设置为 100%。

预期行为

预期的行为是,单击 StackLayoutPanel 中的“预算”菜单项将显示 BudgetPanel,包括 LedgerPanel 的 DataGrid。

观察到的行为

单击“预算”菜单项时,会显示 DockLayoutPanel,其标题为 Label,会显示 DataGrid 列标题,但不会显示 DataGrid 行。

当将 Label 添加到 DockLayoutPanel 的南部区域时,应用程序可以编译,但不会显示任何内容,甚至顶层 StackLayoutPanel 也不会显示。

当 DataGrid 替换为 CellTable 时,将显示数据(尽管每行的高度远远超过容纳数据所需的高度)。

问题

需要做什么才能让 DataGrid 按预期显示?

如何将行样式设置为具有较小的高度?

源代码

演示此问题的完整源代码可在 GitHub 上找到。 .

最佳答案

我快速查看了您的代码,从我所看到的情况来看,您已为数据网格设置了 100% 的高度。不幸的是,在 GWT 中,您必须为数据网格设置一个固定值。

datagrid.setHeight("300px");

您可以通过动态更改数据网格的高度来解决此问题。

Window.addResizeHandler(new ResizeHandler() {
@Override
public void onResize(ResizeEvent event) {
datagrid.setHeight(Window.getClientHeight() - menuSize);
}
});

关于java - GWT DataGrid 不显示,CellTable 却显示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32893729/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com