1

FlexTable または Grid を使用して、複数の FlowPanel を 1 つのセルに追加したいと考えています。これは、複数の FlowPanel を 1 つの (親) FlowPanel に追加し、親パネルをセルに追加することで実現できることを知っています。

(親) フロー パネルにラップせずに、これらの複数のウィジェットを 1 つのセルに追加する方法があるかどうか疑問に思っていますか?

(以下の例のように、親 div は必要なく、代わりに子 div をタグのすぐ下に表示する必要があります。)

<TABLE>
    <TR>
        <td>
            <div id="I-DO-NOT-WANT-THIS-PARENT-DIV">
                <div id="CHILD1"></div>
                <div id="CHILD2"></div>
                <div id="CHILD3"></div>
                <div id="CHILD4"></div>
            </div>
        </td>
    </TR>   
</TABLE>  

何か案は?

4

1 に答える 1

0

domを操作して、要素を祖父母に移動できます。gwtqueryを使用するのは簡単です。

import static com.google.gwt.query.client.GQuery.*;
...
final FlowPanel panel = new FlowPanel();
panel.add(new Label("1"));
panel.add(new Label("2"));
panel.add(new Label("3"));

final FlexTable table = new FlexTable();
table.setWidget(0, 0, panel);
RootPanel.get().add(table);

$(panel).children().appendTo($(panel).parent());

必要に応じて、gqueryを使用して<td>、テーブルのをにプロモートし、Panelウィジェットを追加し続けることもできます。

HTMLPanel newpanel = $(panel).parent().as(Widgets).panel().widget();
panel.removeFromParent();
newpanel.add(new Label("4"));
于 2013-03-19T22:20:45.807 に答える