【发布时间】:2014-11-26 06:54:04
【问题描述】:
我想使用表格菜单按钮 (table.setTableMenuButtonVisible(true);) 来隐藏和显示 TableView 中的指定列。当我取消选择所有列时,[+] 按钮隐藏,弹出“表中没有列”并且用户无法显示任何列。
我试图通过收听table.getVisibleLeafColumns() 并显示最后一个隐藏的列来防止隐藏所有列,但随后在菜单按钮的选择框中未选择此列。
【问题讨论】:
-
对我来说看起来像一个错误:标题应该在 no-columns-at-all 和 no-visible-columns-due-to-user-hiding 之间产生差异。好奇:你想禁用隐藏最后一个可见的列还是让用户在按钮仍然可以访问的情况下隐藏它?
-
两种情况对我来说都是合适的——只是不要剥夺用户的互动。现在我在
TableColumn上使用自定义ContextMenu来执行此操作,该TableColumn添加到列标题并禁用最后一列的取消选择。我认为当您取消选择所有列时它(菜单按钮)不应该消失。我知道我可以将超链接或按钮添加到(表格)占位符以显示所有列,但它看起来不太好,并且当表格中没有数据时也会弹出占位符。 -
hmm ... 很惊讶没有列属性 isHideable(或者我没有看到) - 你能展示你正在监听 visibleLeafColumns 的实验代码吗?
标签: java menu javafx tableview javafx-8