【问题标题】:How to disable the reordering of table columns in tableView?如何禁用 tableView 中表列的重新排序?
【发布时间】:2017-09-28 01:15:28
【问题描述】:

试图弄清楚如何在 javafx 2 中禁用表列的重新排序?

【问题讨论】:

    标签: tableview javafx-2


    【解决方案1】:

    解决办法如下:

    tblView.getColumns().addListener(new ListChangeListener() {
            @Override
            public void onChanged(Change change) {
              change.next();
              if(change.wasReplaced()) {
                  tblView.getColumns().clear();
                  tblView.getColumns().addAll(column1,column2...);
              }
            }
        });
    

    【讨论】:

    • 我认为应该有某种方法可以通过 TableView 类上的 API 禁用列重新排序行为,您可能还想记录针对 JavaFX runtime project 的功能请求。
    • @jewelsea 所以,已经 1 年了,有任何改进的 API 方法来锁定列的迹象吗?
    • 功能请求 RT-26283 "Support "locking" columns (and rows) in TableView" 已创建。没有取得任何进展,请求目前没有安排。功能请求已被接受,因此添加功能的patch request to openjfx 可能会被接受。
    • 这不是删除每一列并重新添加它们的解决方案。
    【解决方案2】:

    在浪费了很多时间之后,我找到了以下非常简单的解决方案:

    TableHeaderRow header = (TableHeaderRow) myTableView.lookup("TableHeaderRow");
    header.setMouseTransparent(true);
    

    【讨论】:

    • 就像 Java 8 中的魅力。
    猜你喜欢
    • 2012-05-22
    • 2010-11-07
    • 1970-01-01
    • 2020-09-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多