gpt4 book ai didi

JavaFX:禁用 TableView 多列排序

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:36:18 24 4
gpt4 key购买 nike

我需要我的 TableView 使其所有列都可排序,但我不希望它通过按住 shift 键单击列来进行多列排序。有什么办法可以防止这种情况发生吗?

最佳答案

您可以向 TableViewsortOrder 属性添加一个监听器,它是一个 ObservableList,并检查这个列表是否没有更多多于一个条目:

myTableView.getSortOrder().addListener((ListChangeListener.Change<? extends TableColumn> c) -> {
while (myTableView.getSortOrder().size() > 1) {
myTableView.getSortOrder().remove(1);
}
});

但是,请注意,此方法会使所有后续监听器的 Change 对象无效。因此,如果您有 sortOrder 属性的其他监听器,您可能希望使用这种方法:

myTableView.setOnSort(sortEvent -> {
while (myTableView.getSortOrder().size() > 1) {
myTableView.getSortOrder().remove(1);
}
});

关于JavaFX:禁用 TableView 多列排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41693343/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com