none
Databind Combobox varias columnas RRS feed

  • Pregunta

  • Hola!

    Tengo un Winform con un combobox con varias columnas cargadas desde un dataset, del tipo: Nombre - Id.

    Para guardar el dato seleccionado, no tengo problema, me almacena cada valor en su campo correspondiente. El problema lo tengo cuando trato de cargar de nuevo el dato desde la base de datos.

    Para un combobox de una única columna uso esto:

    obj.DataBindings.Add(

    NewSystem.Windows.Forms.Binding("SelectedValue", dataS, campo, True))

    Pero si el combobox tiene más de una columna, este código no funciona.

    Alguien sabe qué debo hacer para que funcione?

    Gracias.

    lunes, 14 de noviembre de 2016 11:57

Respuestas

  • Encontré la solución, y la escribo aquí por si a alguien le pasa lo mismo:

    El problema lo estaba teniendo al cargar el combo con dos columnas, (Id, Descripción)

    Era preciso incluir "combo.DisplayMember":

    combo.DisplayMember = combo.Items.Add(descrip & " " & Id)

    ya que yo sólo construía el combo sin DisplayMember.

    Y al recuperar el valor de la base de datos:

    Si el combo tiene una columna:

       obj.DataBindings.Add(NewSystem.Windows.Forms.Binding("SelectedValue", dataS, campo, True))

    Si el combo tiene más de una columna:

       obj.DataBindings.Add(NewSystem.Windows.Forms.Binding("SelectedItem", dataS, campo, True))

    Espero que le haya servido a alguien

    jueves, 17 de noviembre de 2016 9:31