java - 从 JavaFX TableView 中一次删除多行的问题

标签 java javafx-2 javafx

我正在尝试制作一个按钮,当 TableView 中有多行时被选中时,所有选中的行都将被删除。

我正在使用 getSelectedIndicies 创建一个可观察列表,但它无法正常工作。

如果我选择前三行,我会在删除它们时打印出标记并打印 0,1,然后删除第一行和第三行,但不会删除三行的中间部分。

delBtn.setOnAction(new EventHandler<ActionEvent>() {
    @Override
    public void handle(ActionEvent e) {
        ObservableList<Integer> index = 
            table.getSelectionModel().getSelectedIndices();

        for (int location: index) {
            System.out.println(location);
            data.remove(location);
        }

        table.getSelectionModel().clearSelection();
    }
});

最佳答案

出于某种原因,这有效:

 b.setOnAction(new EventHandler<ActionEvent>() {

                @Override
                public void handle(ActionEvent arg0) {
                    List items =  new ArrayList (treeTable.getSelectionModel().getSelectedItems());  
                    data.removeAll(items);
                    table.getSelectionModel().clearSelection();

                }
            });

我怀疑 selectedItems 列表 ( com.sun.javafx.collections.ObservableListWrapper ) 的内部实现可能有一些错误。

编辑 是的,这绝对是一个错误:https://javafx-jira.kenai.com/browse/RT-24367

关于java - 从 JavaFX TableView 中一次删除多行的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18700430/

相关文章:

java - Java中各种随机访问文件方法的比较

java - 为什么不显示带有单选按钮的第二个面板?

deployment - 使用 Ant 部署带有引用 jar 的 JavaFX 2 应用程序

javafx - 当我插入空值时在折线图中显示标签

java - 加载 FXML 时将参数传递给 Controller

java - 如何更新 native 构建的 JavaFX 应用程序

JavaFX TableView 整数不显示

java - 自定义 ListView 适配器空对象引用

java - 为使用 vector 创建的 jTable 添加带有复选框的新列

Javafx 网格 Pane 中心元素