为什么我不能在GWTP中清除UiBinder中的FlexTable?

时间:2013-09-16 15:43:30

标签: gwt gwtp flextable

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

    });

但是当点击仅清除按钮&amp;灵活性中的标签被清除,所有文本和那个flextable的边界还在吗?

但是,如果我通过代码FlexTable ft=new FlexTable();创建FlexTable,那么我没有问题吗?

有什么不对?这是GWTP中的错误吗?

1 个答案:

答案 0 :(得分:1)

FlexTable扩展了HTMLTable。根据HTML方法的javadoc方法clear()

  

从此表中删除所有小部件,但不删除单元格的其他HTML或文本内容。

如果您确实需要从中删除所有表格行,请改用removeAllRows()。请参阅HTMLTable#clear()FlexTable#removeAllRows()

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