Rellenar ComboBox de varias columnas con DataReader

22/07/2006 - 16:53 por Arturo | Informe spam
Hola amigos.

Estoy haciendo una aplicación que lee datos desde una base de datos.
Bien, ejecuto un comando que llama a un procedimiento almacenado y
devuelve un conjunto de resultados de varias columnas, el cual es
asignado a un SqlDataReader. El problema es que a partir de dicho
SqlDataReader (repito, de varias columnas) quiero rellenar un ComboBox,
de manera que quiero ocultar algunas columnas y mostrar otras. No se si
se puede hacer directamente o si previamente debe crearse un arreglo de
varias columnas. En VBA esto era muy sencillo.

SqlConnection cnx=new SqlConnection("mi_cadena_conexion") ;
cnx.Open() ;
SqlCommand cmd=new SqlCommand("sp_mi_procedimiento_almacenado",cnx) ;
SqlDataReader dr=cmd.ExecuteReader() ;
// Hasta aquí llegue
// while (dr.Read())
// {
// Que código puedo poner aca?
// }

Espero que puedan ayudarme. Gracias
 

Leer las respuestas

#1 Vyacheslav Popov
23/07/2006 - 12:11 | Informe spam
Hola Arturo,

Puedes crear una clase que represente tus columnas en el combobox:

public clase ColCombo
{

public ColCombo(string nombre, string apellidos) { ... }
public override string ToString()
{
return String.Format("{0}, {1}", apellidos, nombre);
}
}

y posteriormente crear a partir de dataReader y agregar al ComboBox.

Saludos.

"Arturo" escribió en el mensaje
news:
Hola amigos.

Estoy haciendo una aplicación que lee datos desde una base de datos.
Bien, ejecuto un comando que llama a un procedimiento almacenado y
devuelve un conjunto de resultados de varias columnas, el cual es
asignado a un SqlDataReader. El problema es que a partir de dicho
SqlDataReader (repito, de varias columnas) quiero rellenar un ComboBox,
de manera que quiero ocultar algunas columnas y mostrar otras. No se si
se puede hacer directamente o si previamente debe crearse un arreglo de
varias columnas. En VBA esto era muy sencillo.

SqlConnection cnx=new SqlConnection("mi_cadena_conexion") ;
cnx.Open() ;
SqlCommand cmd=new SqlCommand("sp_mi_procedimiento_almacenado",cnx) ;
SqlDataReader dr=cmd.ExecuteReader() ;
// Hasta aquí llegue
// while (dr.Read())
// {
// Que código puedo poner aca?
// }

Espero que puedan ayudarme. Gracias

Preguntas similares