我在我的应用程序中使用带有“网格”编辑功能的CellTable。编辑现有行工作正常。但是我现在正在努力支持以非hacky方式在表格的底部添加新行。这样做的最佳方式是什么?
我的(hacky)解决方案:
响应RangeChangeEvent加载数据的代码保留了对表上最后一页设置的引用。要添加新行,我将一个对象添加到此列表的末尾,并使用展开的列表执行table.setRowData。我必须通过从列表中删除元素来确保我保持在表的页面大小内。在数据集的最后一页上有很多问题。
我原以为这是一个常见的用例。
也许我需要创建自己的行和页面数据的中间集合+只在真正需要时从服务器获取新行?这仍然存在更改网格页面大小以添加新行的问题。
答案 0 :(得分:3)
这就是我实现这一目标的方式。
CellTable<Style> table = new CellTable<Style>();
List<Style> t = new ArrayList<Style>();
//add some data to List "t" and populate the table.
table.setRowCount(t.size(), true);
table.setRowData(0, t);
//everytime you want to add row, first add data to List "t" and populate the table again.
答案 1 :(得分:0)
我不熟悉GWT,但这可能是AbstractHasData.setRowData()
(AbstractHasData类扩展了AbstractHasData)。