Wenn Sie ein Objekt zu einer ObservableList hinzufügen, die in einer TableView angezeigt wird, wie können Sie eine Zeile aktualisieren, wenn ein doppeltes Element hinzugefügt wird?Wie aktualisieren Sie eine Zeile (anstatt eine neue Zeile hinzuzufügen) in einer TableView, wenn doppelte Elemente hinzugefügt werden? [JavaFX]
z.B. Betrachten Sie eine TableView mit drei Spalten: Artikel, Menge und Preis. Dies könnte mit dem folgenden Code erreicht werden:
@FXML
TableColumn itemColumn;
@FXML
TableColumn qtyColumn;
@FXML
TableColumn priceColumn;
TableView orderTable;
ObservableList orderList = FXCollections.observableArrayList();
public void addItem(String a, int b, Double c) {
Item entry = new Item(a, b, c);
currentOrderTable.getItems().add(entry);
}
@Override
public void initialize(URL location, ResourceBundle resources) {
itemColumn.setCellValueFactory(new PropertyValueFactory<Item, Integer>("item"));
qtyColumn.setCellValueFactory(new PropertyValueFactory<Item, String>("quantity"));
priceColumn.setCellValueFactory(new PropertyValueFactory<Item, Double>("price"));
orderTable.setItems(orderList);
}
In seiner jetzigen Form, Sie mit einer Tabelle am Ende wie folgt könnten:
Artikel --------- Menge ----- Preis.
Chow Mein ----- 1 ----------- 4.20.
Pad Thai -------- 1 ----------- 5.50.
Chow Mein ----- 1 ----------- 4.20.
Pad Thai -------- 1 ----------- 5.50.
Aber was ich suche ist eine Tabelle wie folgt aus:
Artikel --------- Menge ----- Preis.
Chow Mein ----- 1 ----------- 8.40.
Pad Thai -------- 1 ---------- 11.00.
Das ist großartig. Vielen Dank. – mrchimpbanana