hi all:
I have some ComboBoxes and i need refresh the ComboBox content with database data.
When the program starts, the combobox is loaded correctly but I can not do that update dynamically
with this method i start my comboboxes
PaymentsController.java
public void cargaBDCombos()
{
ConectBD bd = new ConectBD();
proyectoCombo.getItems().clear();
ArrayList<String> listProys = bd.getSsns("SELECT nom_proy from \"Proy\"");
ObservableList<String> listProy = FXCollections.observableArrayList(listProys);
combo1.setItems(listProy);
combo2.setItems(listProy);
ArrayList<String> listProvs = bd.getSsns("SELECT provs from \"Provs\"");
ObservableList<String> listProv = FXCollections.observableArrayList(listProvs);
combo3.setItems(listProv);
combo4.setItems(listProv);
bd.cierraPostgress();
}
then ... I try to add data to another form...
addDialogController
public void add(ActionEvent event)
{
try {
FXMLLoader fxmlLoader = new FXMLLoader(getClass().getResource("guiPayment.fxml"));
AnchorPane page = (AnchorPane) fxmlLoader.load();
PaymentsController payController = (PaymentsController) fxmlLoader.getController();
ConectBD bd = new ConectBD();
bd.conectPostgres();
String name = nameTextField.getText();
if (!nameTextField.getText().isEmpty())
{
if (table == "Prov")
{
bd.insertaDato("INSERT INTO \""+table+"\" (prov_name) VALUES ('"+name.toUpperCase()+"')");
payController.cargaBDCombos();
bd.closePostgress();
}
else if (tabla == "Proyectos")
{
bd.insertaDato("INSERT INTO \""+tabla+"\" (nom_proyecto) VALUES ('"+nombre.toUpperCase()+"')");
payController.cargaBDCombos();
bd.closePostgress();
}
}
popup.hide();
} catch (IOException ex) {
Logger.getLogger(DialogoAgregarController.class.getName()).log(Level.SEVERE, null, ex);
}
}
I also tried some other things but I have not succeeded.