Autor Tema: JavaFX, rellenar un Combo Box con datos traídos de base de datos MySql  (Leído 3890 veces)

jairoo98

  • Sin experiencia
  • *
  • APR2.COM
  • Mensajes: 1
    • Ver Perfil
Tengo este código el cual hace el combo box:

Código: [Seleccionar]
private void setComboBox(){
        productos_comboPROVEEDOR.setCellFactory(new Callback<ListView<Proveedores>, ListCell<Proveedores>>() {
            @Override
            public ListCell<Proveedores> call(ListView<Proveedores> p) {
                final ListCell<Proveedores> cell = new ListCell<Proveedores>(){
                  @Override
                  protected void updateItem(Proveedores t, boolean b){
                      super.updateItem(t,b);
                      if(p!=null){
                          setText(p.getId());
                      }else{
                          setText(null);
                      }
                }
              };
                return cell;
         }
        });
         productos_comboPROVEEDOR.setItems(observableListProv);
      }


Y este otro fragmento que es el que rellena el combo box:

Código: [Seleccionar]
private void rellenarComboBox(){
        observableListProv.clear();
       
        String query="SELECT p.id, c.id_proveedor FROM proveedores p LEFT JOIN catalogo c ON c.id_proveedor = p.id";
        ConexionMySQL conexionBd = new ConexionMySQL();
        Connection con = conexionBd.conectar();
        Statement Squery;
        try{
            Squery = con.createStatement();
            ResultSet resultado = Squery.executeQuery(query);
            while(resultado.next()){
                Proveedores pro = new Proveedores(resultado.getString("id"));
               
                observableListProv.add(pro);
            }
        }catch(Exception e){
           
            JOptionPane.showMessageDialog(null, "No se pudo rellenar el combobox de proveedores"+e);
        }
       
    }

Pero al ejecutar el proyecto,  el combo box no muestra nada, solo despliega la lista pero no carga nada.

Lo que trato de hacer es que el proveedor aparezca en el combo box, para ello cree una tabla en MySQL llamada proveedores, la cual tiene 2 columnas: id y nombre, y la otra tabla, llamada catalogo que es donde guardo productos la cual tiene 4 columnas: id, nombre, precio e id_proveedor, por lo cual el id del proveedor quiero que este en la columna id_proveedor para que en el combo box aparezca el nombre de ese id.

Pero no se cuál es el error, si está en setComboBox();,  rellenarCombobox();, o en la tabla de mysql.
« Última modificación: 15 de Junio 2017, 14:39 por Ogramar »

 

Sobre la educación, sólo puedo decir que es el tema más importante en el que nosotros, como pueblo, debemos involucrarnos.

Abraham Lincoln (1808-1865) Presidente estadounidense.

aprenderaprogramar.com: Desde 2006 comprometidos con la didáctica y divulgación de la programación

Preguntas y respuestas

¿Cómo establecer o cambiar la imagen asociada (avatar) de usuario?
  1. Inicia sesión con tu nombre de usuario y contraseña.
  2. Pulsa en perfil --> perfil del foro
  3. Elige la imagen personalizada que quieras usar. Puedes escogerla de una galería de imágenes o subirla desde tu ordenador.
  4. En la parte final de la página pulsa el botón "cambiar perfil".