首先抱歉我的英文:) 我有一个奇怪的错误...按下按钮后我想在JavaFX TableView中隐藏一些列。代码尽可能简单:
column8.visibleProperty().set(false);
column9.visibleProperty().set(false);
(我也用删除测试结果相同)。 问题是,在“相邻单元格”中,我在此操作后的某个地方有“分隔符”。 我使用Cellfactories是我的代码。对于其中一个隐藏的Cell,它是
column8.setCellFactory(column -> {
return new TableCell<Anfrage, Mandant>() {
@Override
protected void updateItem(Mandant item, boolean empty) {
super.updateItem(item, empty);
if (item == null || empty) {
setText(null);
} else {
setText(item.getNameMandant());
}
}
};
});
对于单元格,隐藏后我有“分隔符”:
//Store
column10.setCellFactory(column -> {
return new TableCell<Anfrage, Terminals>() {
@Override
protected void updateItem(Terminals item, boolean empty) {
super.updateItem(item, empty);
if (item == null || empty) {
setText(null);
} else {
setText(item.getStore());
}
}
};
});
如果我再次将“可见”设置为“true”,则所有列都按预期工作 - 所有列都在那里,没有任何“分隔符”。
非常感谢任何建议!
答案 0 :(得分:1)
因此,最后在JavaFX 8u60中解决了tableview刷新问题。现在&#34;本地&#34; table.refresh()
可以做到这一点。