0

GXT 2.25。

我有一个带有布局容器的屏幕,其中有一个带有两列的 TableLayout。左列有一个树形网格。右列是带有表格布局的布局容器,一列。

当我单击树网格上的各种项目时,我想在右侧的布局容器中显示与单击的项目匹配的可编辑字段。

当我第一次启动表单并从服务器加载数据时,我将文本添加到布局容器中,这似乎很好。

加载文本后,我调用 secondLayout.removeAll() 删除所有项目。然后我单击树中的一个项目。选择方法调用 secondLayout.removeAll(),然后添加一个新的文本项“Loaded...”进行测试。

private   LayoutContainer                     secondaryLayout;

接着...

secondaryLayout.removeAll();
secondaryLayout.add(new Text("Loaded..."));

想法?

4

1 回答 1

0

在对容器进行结构更改后,请务必调用(在 GXT 2 中)layout重新运行布局例程的方法。另一种方法是配置LayoutContainer以在每次修改时重新运行布局(使用setLayoutOnChange),但在这种情况下至少需要两个重新布局 - 一个用于 removeAll,另一个用于添加的每个新对象。可能会不必要地昂贵,因此最好在完成更改后一劳永逸地运行。

(值得指出的是,也许 GXT 2.2.5 刚刚推出两年多,2.2.6、2.3.0 从那时起就已经淘汰,并且正在被 GXT 3 取代。在 GXT 3 中,这里的方法是forceLayout。)

于 2013-10-10T21:45:37.117 回答