JavaFX 2.1 TableView刷新项

user1236048:

我有这个常见的问题,看来是这样。重置项目后,我的表格视图不会刷新我的项目。我检查了数据,这是新的数据。

我尝试了多种互联网解决方案,但没有成功。

无法重置所有列,因为它会增加一个空的一列(不知道为什么),并且调整大小会中断。

我的表不可编辑新数据已更改。

如果更改项目的顺序并且行更改(:|),则数据将刷新

我只是没有想法。

目前,刷新代码非常简单。

ObservableList<User> data = FXCollections.observableArrayList(User.getResellers());
reseller_table.setItems(data);

同样,新数据是正确的。当我对tableView进行选择时,它将返回新的正确Item。

英戈

我在刷新时遇到了类似的问题。我的解决方案是将的操作限制在ObservableList可以正常使用的操作上bind()

假设ObservableList obsList是的基础列表TableView

然后,
obsList.clear()(从继承java.util.List<>不会TableView正确更新但是。

另外调用setItem(obsList)无法触发刷新...但是...

obsList.removeAll(obsList)(由覆盖ObservableList工作正常,因为它可以正确触发changeEvent。

然后使用全新内容填充列表,如下所示:

  • obsList.removeAll(obsList);
  • obsList.add(...); //e.g. in a loop...

要么

  • obsList.removeAll(obsList);
  • FXCollections.copy(obsList, someSourceList)

最好的问候英戈

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章