SoloCodigo

CLR: .Net / Mono / Boo / Otros CLR => C# => Mensaje iniciado por: patricio55 en Sábado 5 de Octubre de 2013, 07:50

Título: Cargar Datos de una BD en combobox
Publicado por: patricio55 en Sábado 5 de Octubre de 2013, 07:50
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:
Título: Re:Cargar Datos de una BD en combobox
Publicado por: .net en Sábado 5 de Octubre de 2013, 20:28
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
Título: Re:Cargar Datos de una BD en combobox
Publicado por: patricio55 en Domingo 6 de Octubre de 2013, 05:40
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..
Título: Re:Cargar Datos de una BD en combobox
Publicado por: patricio55 en Martes 8 de Octubre de 2013, 04:56
Alguien me puede asesorar en este tema?? me urge la ayuda por favor
Título: Re:Cargar Datos de una BD en combobox
Publicado por: gabio2 en Martes 8 de Octubre de 2013, 15:19
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.
Título: Re:Cargar Datos de una BD en combobox
Publicado por: agustinsuana en Miércoles 9 de Octubre de 2013, 18:26
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
Título: Re:Cargar Datos de una BD en combobox
Publicado por: patricio55 en Jueves 10 de Octubre de 2013, 06:26
Gracias me ha servido de mucha ayuda, y por fin lo he logrado.

Un Saludo :suerte: