0

好的,我正在使用 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()

注意:为了获得更好的性能,如果您不需要 FlexTable 的任何特定功能(如动态大小或 colspan/rowspan),您也可以考虑使用Grid 。

于 2013-09-16T17:16:54.893 回答