0

誰かがコードスニペットを共有したり、イベントに基づいてフォームを中央パネルに動的に追加/削除する方法についてのディスカッションに案内したりできますか?

フォームは、イベントに基づいて実行時に動的に作成する必要があります。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);
}
4

2 に答える 2

0

私見<div id="xyz"></div>では、アプローチ2でhtmlファイルを追加する必要があります。フォームパネルは、このdivに直接レンダリングされます。したがって、幅と高さを指定することを忘れないでください。

于 2012-08-24T07:43:30.737 に答える
0

実際には、layout()メソッドを追加するとこの問題が解決します。

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

addForm(....) {
    FormPanel fp = new Formpanel();
    ......
    cp.add(fp);
    **cp.layout();**
}
于 2012-09-04T02:36:43.863 に答える