Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/gwt/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java GWT-当基础列表更改时,CellList不会更新_Java_Gwt_Uibinder_Celllist - Fatal编程技术网

Java GWT-当基础列表更改时,CellList不会更新

Java GWT-当基础列表更改时,CellList不会更新,java,gwt,uibinder,celllist,Java,Gwt,Uibinder,Celllist,我有两个ArrayList,希望在其他时间显示。我有一个按钮,当点击时,应该将第一个列表换成第二个列表 我尝试了两种方法,但收效甚微 第一种方法是创建一个ListDataProvider并将其绑定到列表和表,但是当单击按钮并更改列表结构时,什么也没有发生/ 我的第二种方法是坚持使用普通的单元格列表,简单地重置行计数和行数据。如果我点击两次按钮,这种方法就会起作用 我可以忽略什么?任何帮助都将不胜感激 代码如下: private ListDataProvider<String> li

我有两个ArrayList,希望在其他时间显示。我有一个按钮,当点击时,应该将第一个列表换成第二个列表

我尝试了两种方法,但收效甚微

第一种方法是创建一个ListDataProvider并将其绑定到列表和表,但是当单击按钮并更改列表结构时,什么也没有发生/

我的第二种方法是坚持使用普通的单元格列表,简单地重置行计数和行数据。如果我点击两次按钮,这种方法就会起作用

我可以忽略什么?任何帮助都将不胜感激

代码如下:

 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