He estado mirando a su alrededor para esta respuesta. Comprueba aquí: Cómo establecer el valor de un combobox pero no estoy seguro de si esto se aplica a mí (que podría estar equivocado, por favor me corrigen si estoy). Estoy usando VB.Net, VS2012 y necesito establecer mediante programación miembro el valor de un combobox que está enlazado a datos.

Mi código es el siguiente (esto es desde dentro de un bucle asignación de un montón de controles de valores):

    cboCountry.SelectedValue = row.Item("CCCOUNTRY").ToString

Esto no asignar ningún valor seleccionado. También he probado:

    cboCountry.SelectedItem = cboCountry.FindString(row.Item("CCCOUNTRY").ToString)

Pero este no funciona bien. Para esta instancia:

  1. Tengo un combobox
  2. Tiene dos valores de enlace de datos en valuemember propiedades, «NOS», y «CA»
  3. La fila elemento que soy la asignación es uno de esos valores.

De nuevo, todo lo que necesita hacer es ajustar el selectedvalue mediante programación. Cualquier ayuda muy apreciada!

OriginalEl autor jamesdlivesinatree | 2013-02-01

5 Comentarios

  1. 5

    Estás cerca en su segundo intento-reemplazar SelectedItem con SelectedIndex:

    cboCountry.SelectedIndex = cboCountry.FindString(row.Item("CCCOUNTRY").ToString)

    OriginalEl autor xpda

  2. 2

    Que se debe utilizar:

    cboCountry.Items.FindByText(row.Item("CCCOUNTRY").ToString()).Selected = True

    OriginalEl autor SUHAIL AG

  3. 2

    Esto funcionó para mí hoy en vb.net vs2010

    cboCountry.SelectedIndex = cboCountry.FindString(«CCCOUNTRY»).ToString

    Los nombres de los controles y los valores que para mí eran diferentes, pero seguí los usuarios anteriores posts…

    OriginalEl autor Carlos

  4. 0

    Esto funcionó para mí en un proyecto con VB.NET VS2010

    cboCountry.SelectedIndex = cboCountry.FindString("CCCOUNTRY").ToString

    por supuesto, el proyecto tiene diferentes nombres y valores de

    OriginalEl autor CA Martin

  5. 0

    He estado experimentando el mismo problema y no he encontrado una respuesta en la
    net. Al parecer, Microsoft no ha solucionado este problema. Estoy usando VB para un VS2010 aplicación WinForms (en Windows 7). Finalmente me decidí a código de trabajo en torno, a Donde yo estaba tratando de preset seleccionado el valor de un ComboBox he hecho el siguiente cambio:

    ' my_cbx.SelectedValue = data_row.value  ' doesn't work!
    PresetSelectedValue(my_cbx, data_row.value)

    Entonces, he añadido la siguiente subrutina a ser llamado por los cambios mencionados:

    Public Sub PresetSelectedValue(ByRef ComboBox As ComboBox, ByVal value As Object)
        Dim item_ndx As Integer
    
        If ComboBox Is Nothing Then
            '   throw exception?
            Exit Sub
        End If
        With ComboBox
            .Tag = "PresetSelectedValue"
            For item_ndx = 0 To .Items.Count - 1
                .SelectedIndex = item_ndx
                If .SelectedValue = value Then
                    Exit For
                End If
            Next
            If item_ndx >= .Items.Count Then
                .SelectedIndex = -1
            End If
            .Tag = ""
        End With
    End Sub

    Por último, he añadido el siguiente código a mi ComboBox.SelectedValueChanged evento
    (esto evita que la normal de lógica de eventos cuando el usuario cambia el valor de ser
    ejecutado en cada iteración del bucle For en mi subrutina anterior):

    If my_cbx.Tag = "PresetSelectedValue" Then
        Exit Sub
    End If

    OriginalEl autor Radagast

Dejar respuesta

Please enter your comment!
Please enter your name here