2013-09-16 47 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

相關問題