La Web del Programador: Comunidad de Programadores
 
    Pregunta:  42320 - COMBOBOX QUE MUESTRE L CONTENIDO DE 2 CAMPOS DE 1 TABLA D BD
Autor:  Manuel
¿Cómo hacer que un ComboBox muestre el contenido de dos campos de una tabla de una Base de Datos, dos campos como nombre y apellidos?, porque si hago:

Combo.DisplayMember = "Nombre" & "Apellidos"
Combo.ValueMember = "DNI"

me muestra el valor del DNI en vez del nombre y apellidos.

Gracias de antemano.

  Respuesta:  Oscar Pérez Aráuz
Manuel...
yo pienso q lo mas facil y mas sencillo seria q lo hicieras desde el SQL, ahi declaras un Strored Procedure y pones:

SELECT Id,Nombre + ' ' + Apellidos AS [Nombre]
FROM Tabla

y luego solo mandas a llamar y listo...

  Respuesta:  manuel duran
Mas Facil al momento de invocar el select declara un as con otro nombre

  Respuesta:  Joaquin Giadas
Yo haria de otra forma
primero crearia una clase "Persona".
esta clase tendrá un dni, un nombre,y apellidos
En el constructor de la clase se le pasarán 3 datos, dni,nombre y apellidos.
Luego haría la funcion public overrides function tostring as string
que dentro devuelve
return nombre & apellidos
end function

Luego donde cargas el combobox haces algo asi como
combobox.items.add(new(Persona("datos dni","datos nombre","datos apellido")))
y automaticamente te aparece el nombre junto con el apellido.

Luego para seleccionar un autor tienes que convertir el item seleccionado a una persona

ctype(combobox.selecteditem,persona).dni y asi obtienes los datos de cada persona que hay en el combo

Espero que te sirva de algo