JavaFX - 隐藏列后的单元格渲染中的错误

时间:2016-06-22 07:57:27

标签: javafx tableview tableviewcell

首先抱歉我的英文:) 我有一个奇怪的错误...按下按钮后我想在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());                     
            }
        }                                
    };                       
});  

解释实际错误的一些照片。 Before hiding After hiding

如果我再次将“可见”设置为“true”,则所有列都按预期工作 - 所有列都在那里,没有任何“分隔符”。

非常感谢任何建议!

1 个答案:

答案 0 :(得分:1)

因此,最后在JavaFX 8u60中解决了tableview刷新问题。现在&#34;本地&#34; table.refresh()可以做到这一点。