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
No hay comentarios:
Publicar un comentario