[DUDA] Como hago 1 JCombobox dependiente de otro, y que los 2 esten enlazados a respectivas tablas en la BD(MYSQL)
Saludos Comunidad de JavaMexico.
Este es mi primero post disculpen si los llegase a molestar mucho pero es que estoy empezando a indagar bastante con java.
lo que quiero hacer es el tipo caso de que en un jcombobox me cargue los departamentos y en otro jcombobox me cargue las ciudades de ese departamente, obviamente los 2 enlazados a su respectiva tabla.
actualmente la forma en que enlazo es por Bind -> elements ... escojo la conexion, la tabla, en el renderer pues coloco lo que quiero mostrar en este caso el nombre..
pero mi duda esta con la dependencia del Jcmbbx_ciudades.
Gracias de antemano, y espero llegar a ser asi de bueno como la mayoria que he visto aca.
PD: estoy utilizando netbeans 7, JPA: eclipseLink, BD: MySQL.
- Inicie sesión o regístrese para enviar comentarios
JCombo
Tal vez te sirva esto
http://www.javamexico.org/foros/java_enterprise/musql_netbeans_jdbc_jcombo_joption_problema_resuelto
Hombre gracias
hombre gracias pero en realidad ese proyecto no me ayudo pues no hay dependencia de jcmbbx

@Llenobrac Pero tiene lo
@Llenobrac Pero tiene lo escencial para que TU MISMO hagas la implementación.
Un combo dependiente básicamente cambia los datos del combo model cuando otro elemento se haya seleccionado.
Ejemplo:
ComboModel dos = OtroComboModel()
JCombo a = new JCombo( uno )
JCombo b = new JCombo( dos )
...
a.addSomeWhateverListener ( new XyzListener() {
public void changed( Event xyz ) {
b.setModel( crearIOtroComboModelCon ( a.selectedItem ) )
}
});
...
ComboModel crearOtroComboModelCon( Object llave ) {
createQueryUsing( llave )
...
}
El detalle exacto de como se hace un combo y como se le llenan los datos lo puedes ver en el código sugirieron. ¿Que es lo que llevas?
hola; aqui te dejo como
hola;
aqui te dejo como lo ise yo, pero es icefaces con JSF 2.0
Primero, tienes que declara una variable donde el combobox guarde el dato que seleccionaste mediante el valueChangeListener="#{enlinea.sapitoa}", cuando tu seleciones un nuevo valor el valuechangelistener ira al bean enlina metodo sapitoa, sapitoa es un ValueChangeEvent. Y guardara el valor en value="#{enlinea.estacion1}", que como dijimos "enlinea" es el bean y "estacion1" es un string
Yo asi agarro el nuevo elemento
<ice:selectOneMenu id="cbestacion" partialSubmit="true" valueChangeListener="#{enlinea.sapitoa}" value="#{enlinea.estacion1}" >
<f:selectItems value="#{enlinea.estacion}"/>
</ice:selectOneMenu>
Ahora aqui es el codigo del ValueChangeEvent
estacion1=pop.getNewValue();
}
Ahora segun lo que escojiste va abuscar en la base de datos, lo ise de la sig manera:
Class.forName("com.mysql.jdbc.Driver").newInstance();
} catch (Exception ex) {
}
try {
lista.clear();
conexion = (Connection) DriverManager.getConnection("jdbc:mysql://localhost/sapo", "root", "carolina");
statement =null;
statement= (Statement) conexion.createStatement();
rs = statement.executeQuery("SELECT * FROM enlinea where estacion='"+ estacion1 +"'");
while(rs.next()){ //cone sto leo de la bse de datos y coloco
setEstado(rs.getString("estado"));
lista.add(new auxenlineatabla( estado);
}
conexion.close();
} catch (SQLException ex) {
Logger.getLogger(enlineatabla.class.getName()).log(Level.SEVERE, null, ex);
}
Ahora como ya guardamos en la variable estado1, lo del primer combobox, y ya leimos de la base de datos segun lo que contiene estado1 lo populamos en la lista "lista" como se ve en el while(rs.next()) que mientras el resultset tenga mas de 1 renglon seguira leyendo de la base y creara un nuevo elemento de lista, en la lista(jajaj valgame la redundancia). Ahora lo llenamos en el siguiente combo box como tu lo deceas
quedaria asi:
<ice:selectOneMenu partialSubmit="true" value="#{enlinea.estado1}" valueChangeListener="#{enlinea.sapitoa}" id="cbelemento" >
<f:selectItems value="#{enlinea.lista}" />
</ice:selectOneMenu>
Ahora como ves en este ultimo combo el valor value="#{enlinea.estado1}" esdonde se gravara ahora el valor del segundo combobox para que agas lo que quieras con ese valor.
IMPORTANTE: aviluta el partialsubmit para que no tengas que precionar botones para refresqueo de la pag o formulario.
Espero y te sirva esta pequeña guia.
combo box dependiente java netbeans con mysql
alguien me puede colaborar estoy haciendo un programa para la reservacion de hataciondes de hotel con tres combobox y trae el numero de habitacion ,el tipo de habitacion (sencilla doble grupal) y el tercero el estado de la habitacion agradesco su ayuda