6

我通过单击按钮在 GWT 中填充 DataGrid。它工作正常,但如果我尝试重新填充它,数据会附加到现有表中。

我正在使用UI Binder/GWT 2.5创建 DataGrid。

我已经尝试过这个:

    // My list which gets updated with the response of RPC. Initially it is empty.
    List<List<String>> tableRowData = new ArrayList<List<String>>();
    grid.setRowCount(0); // Clears all data.
    grid.setRowCount(tableRowData.size(), true); // Set the size of the new data.
    grid.setRowData(0, tableRowData); // Set the new data.

    Populate tableRowData...

    Populate data grid // works perfect 

同样从 GWT 2.1.1 开始,有一个新方法 setRowData(List)

列表 tableRowData 的每个元素又是一个字符串列表。甚至可以不使用 ListDataProvider。不过,这是第一次完美运行。
谁能指出我错过了什么。

谢谢

4

1 回答 1

2

管理小部件的最佳方法Cell是使用DataProvider. GWT 的展示有一些详细的示例ListDataProvider,但只要保证您的列表很小,您应该可以使用简单的。

ListDataProvider<List<String>> dataProvider = new ListDataProvider<List<String>>();
dataProvider.addDisplay(dataGrid);

List<List<String>> newData = ...;
dataProvider.getList().clear();
dataProvider.getList().addAll(newData);

有关更多信息,请查看有关数据提供者的新 GWT 文档。感谢这篇文章的调整。

于 2012-10-31T04:10:36.870 回答