0

我如何制作这个网格:

在此处输入图像描述 当我移动 SplitPanel 网格与列一起动态扩展时。图片中的网格我手动添加宽度:100% 如果我使用这个:

grid.setWidth("100%");
grid.setHeight("100%");

它不工作,我明白了:

在此处输入图像描述

我发现了这个: 点击

但是 GXT 3.* 没有 FitLayout

有任何想法吗?

4

1 回答 1

2

gxt 3 中没有合适的布局,因为在需要它的情况下,根本不需要布局!任何只接受一个孩子(或在特定位置只接受一个孩子,如NorthSouthContaineror BorderLayoutContainer)的容器将始终将其大小调整为可用空间。http://www.sencha.com/learn/sencha-gxt-2x-to-300-migration-guide/#h.ys84m7uvflvk涵盖了所有布局,描述了 2.x 中存在的内容及其在 3 中的平行。

也就是说,SplitPanel该类已被弃用,因为它和所有子类都只能在怪癖模式下工作。相比之下,GXT 3 只能在标准模式下工作。该类SplitLayoutPanel可以代替工作,尽管它使用RequiresResize接口来检测如何调整孩子的大小。GXT 小部件并不都使用这个,尽管容器这样做:如果您使用SplitLayoutPanel,应该可以将您的网格包装在 aSimpleContainer中,以便容器从其父级(拆分布局面板)获取详细信息并传递新的网格上的尺寸细节。

如果您更熟悉 GXT 2,而不是上述任何一种,请查看BorderLayoutContainer- 您将能够直接将 Grid 添加到其中,因为边框布局容器知道直接将尺寸详细信息提供给网格,而不是而不是通知它尺寸已经改变,它应该自行测量。

最后一点 - 从您的屏幕截图中,根小部件未按应有的方式绘制在浏览器窗口的左上角。造成这种情况的两个主要原因,要么您缺少 reset.css(参见setup.txtgxt zip),要么您使用的是 GWT 主题Clean,这会在该区域添加一个边距。如果没有从浏览器结束位置到应用程序开始位置的额外空间,您可能会发现应用程序看起来更好。

于 2013-06-21T04:00:06.653 回答