好的,我正在使用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中的错误吗?
答案 0 :(得分:1)
FlexTable扩展了HTMLTable。根据HTML方法的javadoc方法clear()
从此表中删除所有小部件,但不删除单元格的其他HTML或文本内容。
如果您确实需要从中删除所有表格行,请改用removeAllRows()
。请参阅HTMLTable#clear()和FlexTable#removeAllRows()
注意:为了获得更好的性能,如果您不需要FlexTable的任何特定功能(如动态大小或colspan / rowspan),您也可以考虑使用Grid。