【问题标题】:JavaFX - bug in cell render after hiding columnsJavaFX - 隐藏列后单元格渲染中的错误
【发布时间】:2016-06-22 07:57:27
【问题描述】:

首先对不起我的英语:) 我有一个奇怪的错误...我想在按下按钮后隐藏 JavaFX TableView 中的一些列。代码尽量简单:

                column8.visibleProperty().set(false);
                column9.visibleProperty().set(false);

(我也用 remove 进行了测试,结果相同)。 问题是,在“相邻单元”中,在此操作之后,我从某处获得了“分隔符”。 我使用 Cellfactories 是我的代码。对于隐藏单元之一,它是

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”,一切都会按预期工作 - 所有列都在那里,任何地方都没有任何“分隔符”。

非常感谢您的建议!

【问题讨论】:

    标签: javafx tableview tableviewcell


    【解决方案1】:

    所以,最终 tableview 刷新在 JavaFX 8u60 中得到解决。现在“原生”table.refresh() 就可以了。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-09-12
      • 2017-06-11
      • 2013-10-11
      • 1970-01-01
      • 1970-01-01
      • 2019-01-02
      • 1970-01-01
      • 2018-05-23
      相关资源
      最近更新 更多