Tableview item dependencies javafx
问题描述:
晚上好,Tableview item dependencies javafx
我正在一个项目上工作,我在迷失在如何配置我的tableviews互相依赖。我希望在一个tableview中的部分依赖于其他产品。我会怎么做呢?我更喜欢暂时不使用sql,只是为了尽可能简单。该代码段如下:
public class maincontroller {
private ObservableList<Part> parts = FXCollections.observableArrayList();
private ObservableList<Product> products = FXCollections.observableArrayList();
//code to swap between controllers
@Override
public void initialize(URL url, ResourceBundle rb) {
partsID.setCellValueFactory(new PropertyValueFactory<>("partID"));
partsName.setCellValueFactory(new PropertyValueFactory<>("name"));
partsinvlevel.setCellValueFactory(new PropertyValueFactory<>("instock"));
partscost.setCellValueFactory(new PropertyValueFactory<>("price"));
parttable.setItems(parts);
productsID.setCellValueFactory(new PropertyValueFactory<>("productID"));
productsName.setCellValueFactory(new PropertyValueFactory<>("name"));
productsInvlevel.setCellValueFactory(new PropertyValueFactory<>("instock"));
productsprice.setCellValueFactory(new PropertyValueFactory<>("price"));
producttable.setItems(products);
parttable.getSelectionModel().selectedItemProperty().addListener((ObservableValue<? extends Part> observable, Part oldValue, Part newValue) -> {
});
producttable.getSelectionModel().selectedItemProperty().addListener((ObservableValue<? extends Product> observable, Product oldValue, Product newValue) -> {
});
}
}
答
我不是太肯定Part
和Product
之间的关系。从上下文来看,我会假设每个具体的Product
都有自己的与其相关的Part
列表。我还假定Part
s的列表存储在Product
内。
产品:
public class Product
{
private final ObservableList<Part> parts = FXCollections.observableArrayList();
public final ObservableList<Part> getParts() { return parts; }
........
}
这是你可以做什么:
producttable.getSelectionModel().selectedItemProperty().addListener(observable, oldProduct, newProduct) ->
{
if (newProduct != null)
{
parts.clear();
parts.addAll(newProduct.getParts());
}
});
谢谢!这让我感到困扰,因为我不知道使用正确的方法让零件和产品相互依赖,即用户将在A部分中输入信息,然后用户将产品信息输入到另一个表中。然后,如果用户删除了部分A,产品信息也将被删除。再次感谢您的帮助! – CBZ