0

OK、私は GWTP を使用しています。eClipse を使用して TestPresenter を作成しました。

TestView.ui.xml には、

<g:HTMLPanel>
    <g:FlexTable ui:field="messageFlexTable" borderWidth="1" /> </g:HTMLPanel>

TestPresenter.java には、

Button clearButton=new Button("Clear");
    getView().getComposeMessageHTMLPanel().add(clearButton);

    clearButton.addClickHandler(new ClickHandler(){

        @Override
        public void onClick(ClickEvent event) {
            // TODO Auto-generated method stub
            getView().getMessageFlexTable().clear();
        }

    });

しかし、そのフレックステーブル内のボタンとラベルのみをクリアをクリックすると、そのフレックステーブルのすべてのテキストと境界線がまだ残っていますか?

しかし、コードで FlexTable を作成すればFlexTable ft=new FlexTable();問題ないのでしょうか?

どうしたの?GWTPのバグですか?

4

1 に答える 1

1

FlexTable は HTMLTable を拡張します。HTMLTable メソッド clear() の javadoc によると

このテーブルからすべてのウィジェットを削除しますが、セルの他の HTML またはテキスト コンテンツは削除しません。

本当にすべてのテーブル行を削除する必要がある場合は、removeAllRows()代わりに使用してください。HTMLTable#clear()およびFlexTable#removeAllRows()を参照してください。

注:動的サイズや colspan/rowspan などの FlexTable の特定の機能が必要ない場合は、パフォーマンスを向上させるために代わりにGridを使用することも検討できます。

于 2013-09-16T17:16:54.893 に答える