2012-08-24 64 views
0

任何人都可以共享一个代码片段或指导我进行一些讨论,以了解如何根据某些事件动态地向中央面板添加/删除表单。GXT:我如何将FormPanel动态添加/删除到面板?

表单需要基于事件在运行时动态创建。 GXT文件没有明确提及这一点,我也从这些例子中得不到多少帮助。

通过在abc.html中使用,我可以获得对使用RootPanel.get(“foo”)的引用,并为其动态添加一个表单。不过我觉得这不是一个好的设计,也非常具有限制性。

我也尝试了以下选项,但它们不起作用。我可能错过了一些概念...任何帮助表示赞赏。

接近1

ContentPanel cp ... //available as a reference (design time) 

addForm(....) { 
    FormPanel fp = new Formpanel(); 
    ...... 
    cp.add(fp); 
} 

方法2.

ContentPanel cp = new ContentPanel(); //design time 
cp.setId("xyz"); 
..... 

addForm() { 
    FormPanel fp = new Formpanel(); 
    ...... 
    RootPanel.get("xyz").add(fp); 
} 
+0

为了更快地获得更好的帮助,请发布[SSCCE](http://sscce.org/)。 –

回答

0

其实,添加layout()方法会解决这个问题。

ContentPanel cp ... //available as a reference (design time) 

addForm(....) { 
    FormPanel fp = new Formpanel(); 
    ...... 
    cp.add(fp); 
    **cp.layout();** 
} 
0

恕我直言,你应该在方法2,你的表格面板将呈现DIRECTO到这个div在HTML文件中添加<div id="xyz"></div>。所以不要忘记指定它的宽度和高度顺便说一句。