none
combobox en tiempo de ejecucion RRS feed

  • Pregunta

  • deseo llenar un combobox en tiempo de ejecucion, y ademas que vaya en un alista puesto que hay varios registros, como le puedo hacer para tener la lista de combobox , llenar el combobox y el evento selectchaing para saber que elemento seleccionada de cierto combo,
    lunes, 2 de marzo de 2009 20:09

Todas las respuestas

  • Hola,

    A que te refieres con una lista, a un DataGridView ?

    Si es este, ten en cuenta que tienes un tipo de columna que es del tipo DataGridViewComboBoxColumn (Clase)

    o sea este tipo de Grilla ya tiene un tipo de columna que te mostrara un combo.


    Saludos


    Leandro Tuttini
    lunes, 2 de marzo de 2009 22:08
  •  

    hola que tal tengo el siguiente codigo una funcion que me llena el combobox .....

     Public Function llena_combo(ByRef combo As ComboBox, ByRef selec As String, ByRef from As String, ByRef where As String, ByRef primercampo As String, ByRef segundocampo As String) As ComboBox
           
         Dim cad As New Conexion:   Dim ds As New DataSet():  Dim reader As SqlDataAdapter: Dim my_strsql As String
            cad.abrir()

            combo.DataSource = Nothing
            combo.ValueMember = Nothing
            combo.DisplayMember = Nothing
            combo.Items.Clear()

            my_strsql = selec & from & where
            reader = New SqlDataAdapter(my_strsql, cad.getCon)
            reader.Fill(ds, primercampo)
            reader.Fill(ds, segundocampo)

            'combo.DataSource = ds.Tables(0).DefaultView
            combo.DataSource = ds.Tables(0)
            combo.DisplayMember = primercampo
            combo.ValueMember = segundocampo

            cad.cerrar()
            Return combo
        End Function

    esta funcio recibe el combo y lo llena ahora cuando quiero en tiempo de ejecucion llenar  el combobox lo hago asi.


    public  load..

      dim  obj4 as New ComboBox

                       obj4.Name = "cmb_estado_" & i + 1
                        obj4.Text = tablaEst.Rows(i)(7)
                        obj4.Location = New Point(840, contador + 4)
                        obj4.Width = 100
                        obj4.Height = 20
                        obj4.Anchor = AnchorStyles.Top Or AnchorStyles.Left Or AnchorStyles.Right
                        obj4.Enabled = True
                        estados.Add(obj4)
                        AddHandler estados(i).SelectedIndexChanged, AddressOf selectedindex
    ## aqui es donde mando a llamar la consulta para llenar el combobox                  
      estado.llena_combo(estados(i), "SELECT   pk_estado_est, nom_estado_est ", " FROM estados_est ", " ", " pk_estado_est", " nom_estado_est")

                        estados(i).Text = tablaEst.Rows(i)(7)
                        Me.panel1.Controls.Add(obj4)
                        contador = contador + 38
                        ultimaprioridad = tablaEst.Rows(i)(6)


    end sub....

      Private Sub selectedindex(ByVal sender As Object, ByVal e As System.EventArgs)

        End Sub


    el problema es que me muestra en los elementos del combobox .. system.datarowview , como l epuedo hacer para que me muestre los datos  tal y como son.. de antemanomuchas gracias

    lunes, 2 de marzo de 2009 23:59
  • hola despues de que lleno el combobox en tiempo de ejecucion en el text pongo un valor, peor no me lo respeta me pone el primer valor de la lista laguien sabe porque
    miércoles, 4 de marzo de 2009 17:58
  • hola,

    Resulta que deberias asignarle el valor que quieres que quede seleccionado a la propiedades:

    - SelectedValue
    - SelecteText
    - SelectedItem

    O sea a una de estas tres, dependiando de que valor dispongas para determinar la seleccion.

    Saludos

    Leandro Tuttini
    miércoles, 4 de marzo de 2009 18:36
  • ok muchas gracias .. en definitiva asi fue como  se debe de realizar para poder lograr el fin de mostrar un elemento en el combobox ,, muchas gracias.. una cosa mas me gutaria para ver si tienes manuales para la impresion en visual basic que me puedas brindar de antemano y por todas las ayudas muchas gracias
    miércoles, 4 de marzo de 2009 19:46