Java GWT-当基础列表更改时,CellList不会更新
我有两个ArrayList,希望在其他时间显示。我有一个按钮,当点击时,应该将第一个列表换成第二个列表 我尝试了两种方法,但收效甚微 第一种方法是创建一个ListDataProvider并将其绑定到列表和表,但是当单击按钮并更改列表结构时,什么也没有发生/ 我的第二种方法是坚持使用普通的单元格列表,简单地重置行计数和行数据。如果我点击两次按钮,这种方法就会起作用 我可以忽略什么?任何帮助都将不胜感激 代码如下:Java GWT-当基础列表更改时,CellList不会更新,java,gwt,uibinder,celllist,Java,Gwt,Uibinder,Celllist,我有两个ArrayList,希望在其他时间显示。我有一个按钮,当点击时,应该将第一个列表换成第二个列表 我尝试了两种方法,但收效甚微 第一种方法是创建一个ListDataProvider并将其绑定到列表和表,但是当单击按钮并更改列表结构时,什么也没有发生/ 我的第二种方法是坚持使用普通的单元格列表,简单地重置行计数和行数据。如果我点击两次按钮,这种方法就会起作用 我可以忽略什么?任何帮助都将不胜感激 代码如下: private ListDataProvider<String> li
private ListDataProvider<String> listDataProvider = new ListDataProvider<String>(SYSTEMS);
public void refreshTable()
{
listDataProvider.refresh();
}
这就是我尝试将ArrayList重新添加到CellList的时候
public void refreshTable()
{
systemTable.setRowCount(SYSTEMS.size(), true);
systemTable.setRowData(0, SYSTEMS);
}
我使用ListDataProvider进行了如下尝试:
private ListDataProvider<String> listDataProvider = new ListDataProvider<String>(SYSTEMS);
public void refreshTable()
{
listDataProvider.refresh();
}
私有ListDataProvider ListDataProvider=新的ListDataProvider(系统);
公共空刷新表()
{
listDataProvider.refresh();
}
您可能遇到了这种情况
两个版本都应该有效。
对于第一种解决方案,请尝试反向调用(首先调用setRowData()
,然后调用setRowCount()
):
对于第二个解决方案,我认为您忘记调用addDataDisplay
。
以下是更改基础数据的一些方法:
1.)创建一个新的ListDataProvider并设置数据显示(不需要调用刷新):
3.)修改现有列表:
listDataProvider.getList().add/remove etc
添加代码来解释我说的话
listDataProvider.setList(SYSTEMS);
listDataProvider.getList().add/remove etc