使用FX-CSS在JavaFX Tableview中隐藏行?

时间:2015-06-24 12:43:19

标签: javafx tableview javafx-css

我遇到这个问题,我有一个JavaFX应用程序,它使用由TableColumns组成的Tableview,并由自定义css设置样式。

一切都很好,我可以顺利地将数据添加到我的表格/单元格中等等。但是,如果我想向用户提供仅部分数据,那么css解决方案将是最佳的(而不是操纵数据以适应用户要求)。

我一直在研究标准的css,发现“display:none”是隐藏选定行但保持数据完整的最佳解决方案,但似乎没有对JavaFX的支持。

我似乎无法找到一个好的解决方案,除了手动黑客修改单元格数据以满足需要的方法。

我已经将setCellFactory用于ex。突出显示不同颜色的文本或单元格,这很好。但是,如果不破坏我的应用程序的整体体验而没有显示单元格的解决方案似乎没有效果。

有没有人遇到类似的问题并找到了实用的解决方案?

2 个答案:

答案 0 :(得分:1)

如果您想使用CSS

每个Node都有一个visibility css属性
JavaFX CSS reference
所以我会尝试:

visibility: hidden;

但我不知道它是否隐藏整行或者什么,如果有麻烦,你可以隐藏每个单元格中的内部Label


编辑:

这个解决方法怎么样:

-fx-text-fill: transparent;
每行

Label
这"隐藏"文本但行将保持可见
没有经过测试,只是一个想法


编辑(2):

这可以提供帮助:

-fx-cell-size: 0;

对于行中的每个单元格 但这是你自己想法的一部分

答案 1 :(得分:0)

没有-fx-visibility CSS属性,但是您可以通过组合使用以下方法来解决它:

-fx-pref-width: 0;
-fx-opacity: 0;