JavaFX将数据行从一个表添加到另一个表

时间:2012-12-12 15:22:50

标签: javafx

我正在尝试将我在一个表中选择的行添加到另一个表中。我不确定如何动态追加行。到目前为止,我所做的代码只是改变了第一行。

int hr = 1;
if ( hr == 1){
    ObservableList<TableColumn<ObservableList<StringProperty>, ?>> header = tableId.getColumns();
    auswTable.getColumns().addAll(header);
    hr = 2;
}
    ObservableList<ObservableList<StringProperty>> content = 
            tableId.getSelectionModel().getSelectedItems();
    auswTable.setItems(content);

1 个答案:

答案 0 :(得分:0)

  

现在它只向table2发送一行并交换其内容   每次用户点击按钮。我想添加更多行   table1来自table1。

发生这种情况是因为在table2的代码中,您将selectedItems可观察列表设置为setItems,因此当用户选择表1中的行/行时,它将自动添加table2。要解决此问题,请为table2定义一个新的ObserbaleList,并将选定项的值添加到它。

示例代码:

private  ObservableList<ObservableList<StringProperty>> table2Observable =  
                                            FXCollections.observableArrayList();

private boolean init = true;

  if(init) {

      ObservableList<TableColumn<ObservableList<StringProperty>, ?>> header =  
                          tableId.getColumns();
     auswTable.getColumns().addAll(header);
     auswTable.setItems(table2Observable);
     init = false;
    }

     table2Observable.addAll(tableId.getSelectionModel().getSelectedItems());