JAVAFX: TableView get multiple selection data
<p>I have a TableView with some columns. It has multiple row selection support. What I want is get all the selected data.</p>

<p><strong>I know how to get single selected data.</strong></p>

<p><a href="https://i.stack.imgur.com/Muk09.jpg" rel="nofollow noreferrer"><img src="https://i.stack.imgur.com/Muk09.jpg" alt="enter image description here"></a></p>

<p>See the image. I want those 3 selected cell's data.</p>

<p><strong><em>Controller</em></strong></p>

<pre><code>/*********************
     * TABLE ITEMS
     *********************/
    @FXML
    private TableView&lt;DailySalesTableData&gt; table;
    @FXML
    private TableColumn&lt;DailySalesTableData, String&gt; dateColumn;
    @FXML
    private TableColumn&lt;DailySalesTableData, String&gt; nameColumn;
    @FXML
    private TableColumn&lt;DailySalesTableData, String&gt; addressColumn;
    @FXML
    private TableColumn&lt;DailySalesTableData, String&gt; productColumn;
    @FXML
    private TableColumn&lt;DailySalesTableData, Double&gt; quantityColumn;
    @FXML
    private TableColumn&lt;DailySalesTableData, Double&gt; priceColumn;
    @FXML
    private TableColumn&lt;DailySalesTableData, Double&gt; totalColumn;
    @FXML
    private TableColumn&lt;DailySalesTableData, Double&gt; depositColumn;
    @FXML
    private TableColumn&lt;DailySalesTableData, Double&gt; restColumn;
    @FXML
    private TableColumn&lt;DailySalesTableData, String&gt; checkColumn;
    @FXML
    private TableColumn&lt;DailySalesTableData, Integer&gt; transColumn;

private ObservableList&lt;DailySalesTableData&gt; tableData = FXCollections.observableArrayList();

@Override
    public void initialize(URL arg0, ResourceBundle arg1){
        dateColumn.setCellValueFactory(cellData-&gt;new ReadOnlyStringWrapper(cellData.getValue().getdate()));
        nameColumn.setCellValueFactory(cellData-&gt;new ReadOnlyStringWrapper(cellData.getValue().getName()));
        addressColumn.setCellValueFactory(cellData-&gt;new ReadOnlyStringWrapper(cellData.getValue().getAddress()));
        productColumn.setCellValueFactory(cellData-&gt;new ReadOnlyStringWrapper(cellData.getValue().getProduct()));
        quantityColumn.setCellValueFactory(cellData-&gt;new ReadOnlyObjectWrapper&lt;Double&gt;(cellData.getValue().getQuantity()));
        priceColumn.setCellValueFactory(cellData-&gt;new ReadOnlyObjectWrapper&lt;Double&gt;(cellData.getValue().getRate()));
        totalColumn.setCellValueFactory(cellData-&gt;new ReadOnlyObjectWrapper&lt;Double&gt;(cellData.getValue().getTotalPrice()));
        depositColumn.setCellValueFactory(cellData-&gt;new ReadOnlyObjectWrapper&lt;Double&gt;(cellData.getValue().getDeposit()));
        restColumn.setCellValueFactory(cellData-&gt;new ReadOnlyObjectWrapper&lt;Double&gt;(cellData.getValue().getRest()));
        transColumn.setCellValueFactory(cellData-&gt;new ReadOnlyObjectWrapper&lt;Integer&gt;(cellData.getValue().getTrans()));
        checkColumn.setCellValueFactory(cellData-&gt;new ReadOnlyStringWrapper(cellData.getValue().getStatus()));
        table.setItems(getPersonData());


        table.getSelectionModel().setSelectionMode(SelectionMode.MULTIPLE);
        table.getSelectionModel().setCellSelectionEnabled(true);

    }

    public ObservableList&lt;DailySalesTableData&gt; getPersonData() {
        return tableData;
    }
</code></pre>

<p>How to do that?</p>