Mostrando entradas con la etiqueta WINDOWS FORMS. Mostrar todas las entradas
Mostrando entradas con la etiqueta WINDOWS FORMS. Mostrar todas las entradas

lunes, 22 de abril de 2013

Incialización del valor en combox y listbox de windows forms mediante ValueMember

Problema

En un desarrollo Windows forms rellenas una combo o una listBox desde una consulta linq y estableces el ValueMember en un campo.

lista.ValueMember="id"
lista.addRange(Bd.mitabla.toArray())

Posteriormente quieres incializar seleccionando un elemento de lista que tiene un valor concreto:
lista.selectedValue=20

¡Y resulta que no funciona.!

Solución:

Usar:
  • Datasource en lugar de addRange
  • ToList en lugar de toArray.
lista.ValueMember="id"
lista.DataSource(Bd.mitabla.toList())

¡Y esto si que funciona!: lista.selectedValue=20

Comentario

Reconozco haber perdido mucho tiempo hasta haber descubierto esto. En mi descargo debo decir que en 1998 dejé de programa en Visual Basic 2012 y solo hace unos tres años que he vuelto a desarrollar en Windows Forms y muy esporadicamente.
Este es una de los tips que escribo prácticamente para mí, porque siempre se me olvida