2017-04-02 117 views
0

晚上好,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) -> { 

     }); 


    } 
} 

回答

0

我不是太肯定PartProduct之間的關係。從上下文來看,我會假設每個具體的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()); 
    } 
}); 
+0

謝謝!這讓我感到困擾,因爲我不知道使用正確的方法讓零件和產品相互依賴,即用戶將在A部分中輸入信息,然後用戶將產品信息輸入到另一個表中。然後,如果用戶刪除了部分A,產品信息也將被刪除。再次感謝您的幫助! – CBZ