• Domingo 22 de Diciembre de 2024, 15:51

Autor Tema:  Cargar Datos de una BD en combobox  (Leído 4301 veces)

patricio55

  • Nuevo Miembro
  • *
  • Mensajes: 9
    • Ver Perfil
Cargar Datos de una BD en combobox
« en: Sábado 5 de Octubre de 2013, 07:50 »
0
Saludos Cordiales

Deseo cargar datos en Combobox de unas tres tablas que tengo en una BD y están enlazados entre sí.
Tengo las tablas:
Pais:
Pais1
Pais2

Estado:
Estado1 (Pertenece a Pais1)
Estado2 (Pertenece a Pais1)
Estado3 (Pertenece a Pais2)

Ciudad:
Ciudad1 (Pertenece a Estado1)
Ciudad2 (Pertenece a Estado1)
Ciudad3 (Pertenece a Estado1)
Ciudad4 (Pertenece a Estado1)

Ahora cómo podría mostrar estos datos de la siguiente manera: Que cuando seleccione en mi primer combobox1 el pais1, se me cargue en el siguiente combobox2 todos los estados pertenecientes solo a ese país, y de la misma manera que cuando seleccione un estado se me carguen todas la ciudades pertenecientes solo a ese estado.

Actualmente estoy mostrando en los combobox todos los datos que tengo en las tablas, pero el problema es ese, que cuando seleccione determinado dato me deberían cargar los datos que pertenecen a los foreign key de ese dato y no mostrarme todos los estados y todas las ciudades existentes en las tablas

Alguien tal vez me puede ayudar?? Alguna idea??  :ayuda:
« última modificación: Sábado 5 de Octubre de 2013, 07:53 por patricio55 »

.net

  • Miembro MUY activo
  • ***
  • Mensajes: 181
  • Nacionalidad: mx
    • Ver Perfil
Re:Cargar Datos de una BD en combobox
« Respuesta #1 en: Sábado 5 de Octubre de 2013, 20:28 »
0
Pues filtrando los datos de la base de datos

en el evento de selectindexChanged del combo de pais, vas a filtrar los estados del pais y en el selectindexchanged del estado alli vas a filtrar las ciudades.

Espero me entiendas
La lógica lleva a más lógica

Apoyo a un mundo OPEN SOURCE!!!

Eso si es el paraíso

patricio55

  • Nuevo Miembro
  • *
  • Mensajes: 9
    • Ver Perfil
Re:Cargar Datos de una BD en combobox
« Respuesta #2 en: Domingo 6 de Octubre de 2013, 05:40 »
0
Gracias por tu pronta respuesta, podrías ayudarme con una explicación más clara, es que soy nuevo y recién estoy empezando

Saludos..

patricio55

  • Nuevo Miembro
  • *
  • Mensajes: 9
    • Ver Perfil
Re:Cargar Datos de una BD en combobox
« Respuesta #3 en: Martes 8 de Octubre de 2013, 04:56 »
0
Alguien me puede asesorar en este tema?? me urge la ayuda por favor

gabio2

  • Miembro MUY activo
  • ***
  • Mensajes: 402
  • Nacionalidad: mx
    • Ver Perfil
Re:Cargar Datos de una BD en combobox
« Respuesta #4 en: Martes 8 de Octubre de 2013, 15:19 »
0
Tienes que utilizar el Evento SelectedIndexChanged, te recomiendo que leas por aquí -->  http://msdn.microsoft.com/en-us/library/system.windows.forms.combobox.selectedindexchanged.aspx

Ahora bien igual puedes ver este video --> http://www.youtube.com/watch?v=sgMoNSNLLvg


Espero te ayude saludos.
@gabio87

agustinsuana

  • Nuevo Miembro
  • *
  • Mensajes: 3
  • Nacionalidad: pe
    • Ver Perfil
Re:Cargar Datos de una BD en combobox
« Respuesta #5 en: Miércoles 9 de Octubre de 2013, 18:26 »
0
Tienes que usar el evento SelectedIndexChanged, yo lo hago asi
Código: vb.net
  1. Private Sub cboPais_SelectedIndexChanged(sender As System.Object, e As System.EventArgs) Handles cboCategoria.SelectedIndexChanged
  2.         CargarEstado(cboPais.SelectedValue.ToString)
  3.     End Sub
  4.  
  5. Sub CargarEstado(ByVal pPais As String)
  6.         Dim oBlEstado As New blTEstado
  7.         cboEstado.DataSource = oBlEstado.GetRows(pPais)
  8.         cboEstado.DisplayMember = "Nombre"
  9.         cboEstado.ValueMember = "IdEstado"
  10. End Sub

En GetRows ves la forma de extraer tu data (dataset, datatable, listas, etc), tu consulta se resumiría a
Código: SQL
  1. SELECT * FROM estado WHERE idpais = @pPais

patricio55

  • Nuevo Miembro
  • *
  • Mensajes: 9
    • Ver Perfil
Re:Cargar Datos de una BD en combobox
« Respuesta #6 en: Jueves 10 de Octubre de 2013, 06:26 »
0
Gracias me ha servido de mucha ayuda, y por fin lo he logrado.

Un Saludo :suerte: