none
Obtener valor de un ComboBox con Datos SQL RRS feed

  • Pregunta

  • Hola Gente nuevamente molestando...

    Estoy teniendo un problema con un combobox cargado con datos del SQL.

    Quiero armar un textbox con la suma de todos los string que contiene el combo box, lo que estoy probando es lo siguiente:

    For i = 0 To ComboBox1.Items.Count - 1
                textbox1.text=ComboBox1.Items.Item(i).ToString
            Next

    cuando coloco ese codigo me tira el siguiente error:

    SYSTEMA.DATA.DATAROW...

    Si yo ese mismo combobox lo cargo con datos manuales (no con datos de SQL) funciona perfecto.

    Alguien tiene alguna data de lo que esta pasando?

    lunes, 9 de marzo de 2020 15:01

Todas las respuestas

  • […] me tira el siguiente error: SYSTEMA.DATA.DATAROW...

    No, no es un error. Ese es realmente el texto que sale cuando llamas a ToString sobre un DataRow.

    Eso quiere decir que cargaste el combo con DataRows. Me imagino que cuando dices que "lo cargaste con datos de SQL" lo que hiciste fue hacerle un databinding contra un DataTable, y de ahi que se encuentre cargado con DataRows.

    Seguramente lo que quieres mostrar no es el Item(i).ToString() sino el Item(i)(nombreDeColumna).

    Ten presente que eso cambia segun el tipo de objeto que hayas cargado en el Combo. No depende de que el objeto provenga de SQL o que provenga de haberlo escrito a mano. Lo importante es el tipo que tenga. Por ejemplo, si cargas el combo con un List(Of MiClase), para acceder a los items tienes que usar las propiedades que tenga MiClase.

    Por cierto, tienes un error en tu bucle; tal como lo tienes escrito, mostrara en el textbox el ultimo elemento que haya en el combo. Tienes que poner &= en lugar de =.

    lunes, 9 de marzo de 2020 16:49