tableview - 如何防止TableView在javaFX 8中对TableColumn重新排序?

标签 tableview javafx-8

我读了这个https://bugs.openjdk.java.net/browse/JDK-8102128,但是我没有在JavaFX 8的Api中找到任何东西。没有什么方法可以防止TableView中的重新排序?

最佳答案

花了半天时间试图解决问题。也许我的调查对其他人可能有用。
可以使用一些技巧来禁用列重新排序。步骤如下:


获取表头。可以按照以下说明进行操作:https://stackoverflow.com/a/12465155
将更改事件侦听器添加到reorderingProperty,该属性将重新排序设置为false。


完整代码在这里:

tableView.widthProperty().addListener(new ChangeListener<Number>()
{
    @Override
    public void changed(ObservableValue<? extends Number> source, Number oldWidth, Number newWidth)
    {
        TableHeaderRow header = (TableHeaderRow) tableView.lookup("TableHeaderRow");
        header.reorderingProperty().addListener(new ChangeListener<Boolean>() {
            @Override
            public void changed(ObservableValue<? extends Boolean> observable, Boolean oldValue, Boolean newValue) {
                header.setReordering(false);
            }
        });
    }
});


我不确定该解决方案的副作用,但是快速测试表明该解决方案效果很好。

关于tableview - 如何防止TableView在javaFX 8中对TableColumn重新排序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60383235/

相关文章:

tableview - javafx 准确显示表格 View 中单元格的文本

ios - 在 TableViewCell 中进行更改

arrays - 搜索 UITableView 的多个部分,数组结构数组

ios - 只有在tableview中点击时才会显示数据

ios - 在 swift 中添加 Nsattributed 字符串和字符串

android - 在build.gradle中添加依赖项

java - javaFX 8 中的投票栏

javafx-8 - JavaFx scenebuilder 和 Maven 集成

java - 如何在 JavaFX 中换行文本

java - 如何检查是否所有文本字段和单选按钮都被选中?