這是舊發票示例的這種編輯。 我有兩個表A和B, table_A用於通過搜索加載所有項目或項目,然後選擇並單擊添加按鈕將其添加到table_B。 table_B先前在發票中加載舊保存的項目。 *奇怪的是,當我點擊所有按鈕加載到table_A和table_B的所有按鈕!加上舊發票的舊保存項目。 *當我只刪除舊的invoice-item/s和設置這些item/s到table_B的行時,每件事情都很好。所以這個部分的問題我希望有人向我解釋。 table_A在左邊,table_B在右邊。 ***首先在下面添加兩行代碼之前提示表格工作正常。 JavaFX tableView,當向表A添加項目時,表B也將它們帶入?
// The code who makes unexpected issue:
invoiceList = DBForInvoices.invoiceItems(invoice.getID());
table_B.setItems(invoiceList);
// About tables
@FXML private TableView<Item> table_A; //Table Of Search
@FXML private TableColumn<Item, String> col_s_code;
@FXML private TableColumn<Item, String> col_s_name;
@FXML private TableView<Item> table_B; //Table Of Order Items
@FXML private TableColumn<Item, String> col_o_name;
@FXML private TableColumn<Item, String> col_o_quantity;
@FXML private TableColumn<Item, String> col_o_price;
@FXML private TableColumn<Item, String> col_o_warranty;
private void setItemsTables() {
// Setting columns of Search items.
col_s_code.setCellValueFactory(
new PropertyValueFactory<Item, String>("code_3"));
col_s_name.setCellValueFactory(
new PropertyValueFactory<Item, String>("name_4"));
// Setting columns of invoice items.
col_o_name.setCellValueFactory(
new PropertyValueFactory<Item, String>("name_4"));
col_o_quantity.setCellValueFactory(
new PropertyValueFactory<Item, String>("quantity_6"));
col_o_price.setCellValueFactory(
new PropertyValueFactory<Item, String>("price_7"));
col_o_warranty.setCellValueFactory(
new PropertyValueFactory<Item, String>("warranty_8"));
}
你如何創建表格?你初始化時是否使用相同的列表?就像在API中一樣:'TableView(ObservableList
items)' – mrbela當然不是,它們在創建新的發票,一個要搜索的列表和其他發票項目/ s的其他項目時正常工作。 –
你能提供你的代碼如何創建表格,以及你如何設置它們的值? –