2013-09-16 25 views
0

好的,我正在使用GWTP。我用eClipse创建TestPresenter。为什么我无法在GWTP中的UiBinder中清除FlexTable?

在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();创建FlexTable,那么我没有问题?

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

回答

1

FlexTable扩展了HTMLTable。按照javadoc的HTMLTable方法clear()

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

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

注:有更好的表现,你也可以考虑使用Grid,而是如果你不需要FlexTable像动态大小或合并单元格/行跨度任何特定的功能。

+0

如果看起来有效, – Tum

相关问题