JavaFX 2.1 表视图刷新项

2022-08-31 14:38:22

我有这个常见问题,因为它似乎是。我的表视图在重置项目后不会刷新我的项目。我已经检查了数据,它是新的。

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

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

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

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

我只是没有想法。

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

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

同样,新数据是正确的。当我对表视图进行选择时,它将返回新的正确项。


答案 1

由于您可以使用(假设是 TableView 类的实例):JavaFX 8u60tableView

tableView.refresh();

从文档中:

调用 refresh() 强制 TableView 控件重新创建并重新填充填充控件的视觉边界所需的单元格。换句话说,这将强制 TableView 更新它向用户显示的内容。这在基础数据源以 TableView 本身未观察到的方式发生更改的情况下非常有用。


答案 2

解决方法:

 tableView.getColumns().get(0).setVisible(false);
 tableView.getColumns().get(0).setVisible(true);

推荐