我有一个TableView,我想从中计算成本。我的TableView中的数据来自数据库(数据库 - > ObservableList - > TableView)。
我可以使用以下代码计算总费用:
public static int calculateTotalCost(){
total = 0;
for(Items i : itemTable.getItems()){
total += i.getCost();
}
return total;
}
但是,假设我想要过滤表格,以便仅根据特定的项目名称进行计算......所以我输入例如项目名称,只显示那些项目名称。然后根据剩下的名字,我只计算这些项目的总成本......我最好如何处理这个?
(到目前为止我找到的一个选项:SortedList + FilteredList ...对不起,如果有新问题,但我刚刚第一次玩JavaFX ......)
答案 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设置为多选模式,在选择了一些行之后,运行上面的代码来计算总和成本。