Autor Tema: Java rellenar varios JComboBox con una función dinámica desde base de datos  (Leído 5107 veces)

MichoAst

  • Sin experiencia
  • *
  • APR2.COM
  • Mensajes: 2
    • Ver Perfil
Me encuentro buscando en este foro una funcionalidad dinámica para cargar la información a varios JComboxBox a través de un procedimiento MySql con algunos parámetros específicos: NombreTable y un Filtro.

Código: [Seleccionar]
private void btnModificarActionPerformed(java.awt.event.ActionEvent evt) { 
    cargaCombo();  // Llamado a la funcionalidad
}
...


Código: [Seleccionar]
    private void cargaCombo() {
// Parametros de entrada:
//                  TBL_Categor --> nombre de la Tabla a buscar
//                  cmbCategoria --> Nombre del ComboBox a cargar
//                  "C0001"         --> Codigo del filtro para buscar en la tabla seleccionada.           
        cargaRegistroCombo("TBL_Categor", cmbCategoria,  "");
        cargaRegistroCombo("TBL_Proveedor",cmbProveedor , "C0001");

    }
...

Código: [Seleccionar]
...
private void cargaRegistroCombo(String Archivo, JComboBox cmbObjecto, String Filtro) {
        try {
            rs = productoDao.buscarCbProducto(Archivo, Filtro);
            while (rs.next()) {
                cmbObjecto.addItem(String.format("%1$-200s", rs.getString(1).toString()) + "<|COD|>" + rs.getString(2).toString());
            }
        } catch (Exception e) {
        }
    }
« Última modificación: 26 de Agosto 2015, 09:45 por César Krall »

César Krall

  • Moderador Global
  • Experto
  • *******
  • Mensajes: 2078
  • No vales por lo que dices, sino por lo que haces
    • Ver Perfil
    • aprenderaprogramar.com
Hola!

Bienvenido a los foros. Lee por favor este hilo https://www.aprenderaprogramar.com/foros/index.php?topic=1460.0 donde se indica cómo pegar código en los foros y otras cuestiones de interés.

Parece que el código que has puesto está incompleto o tiene comentarios y no se puede compilar y no acabo de entender si los datos los tratas de cargar desde un archivo o desde una base de datos MySql

En este código puede verse un ejemplo de carga de datos desde una base de datos (antes hay que iniciar la conexión con la base de datos)

Código: [Seleccionar]
public class TestComboBox {
 
    private JComboBox combo;
    private Connection sqlCon;
    private Statement st;
 
    public TestComboBox() {
        initComponents();
 
    }
 
    private void initComponents() {
 
        combo = new JComboBox();
 
 
        try {
             
            st = sqlCon.createStatement();
 
        } catch (SQLException sqle) {
            System.out.println(sqle);
        }
 
    }
 
    public JComboBox getComboBox() {
 
        combo.removeAllItems();
        combo.addItem("Por favor elegir...");
 
        try {
             
            ResultSet rs = st.executeQuery("select nombre, apellidos from myTable");
 
            while (rs.next()) {
                combo.addItem(rs.getString("nombre") + " " + rs.getString("apellidos"));
            }
 
 
 
        } catch (SQLException sqle) {
            System.out.println(sqle);
        }
 
 
        return combo;
    }
}

También se puede hacer sobreescribiendo la clase JComboBox

Código: [Seleccionar]
public class TestComboBox extends JComboBox {
 
    private Connection sqlCon;
    private Statement st;
     
    public TestComboBox() {
        super();
         
        initComponents();
 
    }
 
    private void initComponents() {
 
        try {
 
             
            st = sqlCon.createStatement();
 
            loadCombobox();
 
 
        } catch (SQLException sqle) {
            System.out.println(sqle);
        }
 
    }
 
 
 
    public void loadCombobox(){
 
        this.removeAllItems();
        this.addItem("Por favor elegir...");
 
        try {
 
            ResultSet rs = st.executeQuery("select nombre, apellidos from myTable");
 
            while (rs.next()) {
                this.addItem(rs.getString("nombre") + " " + rs.getString("apellidos"));
            }
 
 
 
        } catch (SQLException sqle) {
            System.out.println(sqle);
        }
 
    }
 
 
}

Saludos!
Responsable de departamento de producción aprenderaprogramar.com

MichoAst

  • Sin experiencia
  • *
  • APR2.COM
  • Mensajes: 2
    • Ver Perfil
Muchas gracias por el aporte...

El código que incorpore fue solo de muestra, era para explicar el concepto que desea reproducir.

Lo probaré y les informo.
« Última modificación: 27 de Agosto 2015, 10:43 por César Krall »

 

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".