Foros aprenderaprogramar.com

Aprender a programar => C, C++, C#, Java, Visual Basic, HTML, PHP, CSS, Javascript, Ajax, Joomla, MySql y más => Mensaje iniciado por: Andy Rivera en 29 de Mayo 2015, 22:23

Título: Visual Basic cambiar datos de combobox según item elegido en otro combobox (dos)
Publicado por: Andy Rivera en 29 de Mayo 2015, 22:23
Hola necesito su apoyo soy un programador en closet años sin hacerlo necesito mandar a llamar los datos de una tabla a un combobox desde visual studio lo primero que una tabla sea el listado del combobox1 y de ahi se haga una consulta y envie informacion a un segundo combo.... para mayor ejemplo cuando le das clic a un combo donde esten los estados del pais y en el siguiente combo aparezcan sus municipios!!! help.... pleaseee
Título: Re:Como agrego datos a un Combobox desde una tabla de access
Publicado por: Alex Rodríguez en 30 de Mayo 2015, 21:10
Hola, lo que consultas implica que sepas cómo cargar datos en el combobox (sin ser desde access) y hacer que al cambiar un item elegido cambien los items en el siguiente combo. Una vez sepas hacer esto debes pasar a operar en conexión con la base de datos. Esto es demasiado amplio para explicarlo en conjunto. Nuestra filosofía es intentar ayudar a partir del código que se haya intentado crear. Si te hacen falta fundamentos de Visual Basic te recomiendo este material http://aprenderaprogramar.com/index.php?option=com_content&view=category&id=37&Itemid=61 Si pegas el código creado indicando dónde tienes problemas o errores intentaremos ayudarte. También debes indicar con qué versión de Visual Basic estás trabajando.

Aquí pongo un código de ejemplo en Visual Basic 2010 para que los items de un combo se modifiquen en base a la elección en otro combo.

Código para clases Pais y Continente

Código: [Seleccionar]
Public Class PaisCls

    Private _PaisID As Integer
    Public Property PaisID() As Integer
        Get
            Return _PaisID
        End Get
        Set(ByVal value As Integer)
            _PaisID = value
        End Set
    End Property

    Private _PaisNombre As String
    Public Property PaisNombre() As String
        Get
            Return _PaisNombre
        End Get
        Set(ByVal value As String)
            _PaisNombre = value
        End Set
    End Property

    Private _ContinenteID As Integer
    Public Property ContinenteID() As Integer
        Get
            Return _ContinenteID
        End Get
        Set(ByVal value As Integer)
            _ContinenteID = value
        End Set
    End Property

End Class


Código: [Seleccionar]
Public Class ContinenteCls

    Private _ContinenteID As Integer
    Public Property ContinenteID() As Integer
        Get
            Return _ContinenteID
        End Get
        Set(ByVal value As Integer)
            _ContinenteID = value
        End Set
    End Property

    Private _ContinenteNombre As String
    Public Property ContinenteNombre() As String
        Get
            Return _ContinenteNombre
        End Get
        Set(ByVal value As String)
            _ContinenteNombre = value
        End Set
    End Property

End Class

Añadir dos ComboBox (cmbContinentee y cmbPais) a un formulario y el siguiente código al formulario:

Código: [Seleccionar]
Dim ContinenteList As New List(Of ContinenteCls)
Dim PaisList As New List(Of PaisCls)

Private Sub Form2_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

    'Inicialización de listas con algunos datos cualquiera
    For i = 1 To 3
        ContinenteList.Add(New ContinenteCls With {.ContinenteID = i, .ContinenteNombre = "Continente" + CStr(i)})
        For j = 1 To 5
            PaisList.Add(New PaisCls With {.ContinenteID = i, .PaisID = j, .PaisNombre = "Cont" + CStr(i) + " - Pais" + CStr(j)})
        Next
    Next

    'Rellenar el Combo Continente
    With cmbContinente
        .ValueMember = "ContinenteID"
        .DisplayMember = "ContinenteNombre"
        .DataSource = ContinenteList
    End With

End Sub

Private Sub cmbContinente_SelectedValueChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles cmbContinente.SelectedValueChanged
    Try
        'Hacer que se rellene el combo de pais según el contienente elegido
        With cmbPais
            .ValueMember = "PaisID"
            .DisplayMember = "PaisNombre"
            .DataSource = PaisList.Where(Function(f) f.ContinenteID = cmbContinente.SelectedValue).ToList
        End With
    Catch ex As Exception
        MsgBox(ex.Message)
    End Try
End Sub
Título: Re:Visual Basic cambiar datos de combobox según item elegido en otro combobox (dos)
Publicado por: Andy Rivera en 01 de Junio 2015, 18:12
 ;) ok excelente así se envía información... estoy trabajando en visual studio .net 4.5
ahora si eres muy amable como puedo madar traer informacion de una tabla haciendo la consulta del primer combo...