JavaFX如何计算TableView中的选择行

时间:2017-06-20 14:42:51

标签: database javafx tableview

我有一个TableView,我想从中计算成本。我的TableView中的数据来自数据库(数据库 - > ObservableList - > TableView)。

我可以使用以下代码计算总费用:

public static int calculateTotalCost(){
    total = 0;
    for(Items i : itemTable.getItems()){
        total += i.getCost();
    }
    return total;
}

但是,假设我想要过滤表格,以便仅根据特定的项目名称进行计算......所以我输入例如项目名称,只显示那些项目名称。然后根据剩下的名字,我只计算这些项目的总成本......我最好如何处理这个?

(到目前为止我找到的一个选项:SortedList + FilteredList ...对不起,如果有新问题,但我刚刚第一次玩JavaFX ......)

1 个答案:

答案 0 :(得分:0)

将您的代码更改为

public static int calculateTotalCost(){
    total = 0;
    for(Items i : table.getSelectionModel().getSelectedItems()){
        total += i.getCost();
    }
    return total;
}

上面的代码只计算TableView中所选行的总成本。确保首先通过table.getSelectionModel()。setSelectionMode(SelectionMode.MULTIPLE)将TableView设置为多选模式,在选择了一些行之后,运行上面的代码来计算总和成本。