Insertar 2 campos en un comboBox

20/07/2006 - 16:12 por Marc Solé | Informe spam
Hola grupo, me gustaría saber como puedo hacer que 1 item de un comboBox
pueda almacenar 2 campos (por ejemplo, descripción + ID).

Ahora sólo le puedo poner 1 de los 2, pero me interesaría poder ponerlos los
2.

Muchas gracias,

Marc

Preguntas similare

Leer las respuestas

#1 Alberto Poblacion
20/07/2006 - 16:42 | Informe spam
"Marc Solé" wrote in message
news:O$
Hola grupo, me gustaría saber como puedo hacer que 1 item de un comboBox
pueda almacenar 2 campos (por ejemplo, descripción + ID).

Ahora sólo le puedo poner 1 de los 2, pero me interesaría poder ponerlos
los
2.



Los items del combo son de tipo "Object", con lo que les puedes meter
cualquier cosa. Si quieres meter descripción+ID, lo que haces es crear una
clase que tenga estos dos valores y asignar al combo items de esta clase.
Dentro de la clase tendrás que hacer un override del ToString para devolver
el texto que quieras que se visualice en pantalla al desplegar el combo.

Por Ejemplo:

private class UnItem
{
public int ID;
public string descripcion;
public UnItem(int id, string desc) { ID=id; descripcion=desc; }
public override string ToString() { return descripcion; }
}
...

combobox1.Items.Add(new UnItem(1, "Hola"));
combobox1.Items.Add(new UnItem(2, "Adios"));
...

int idSeleccionado = ((UnItem)combobox1.SelectedItem).ID;
Respuesta Responder a este mensaje
#2 Marc Solé
20/07/2006 - 17:19 | Informe spam
Muchas gracias Alberto por tu respuesta.

Me ha sido de gran ayuda.

Marc

"Alberto Poblacion" wrote
in message news:
"Marc Solé" wrote in message
news:O$
> Hola grupo, me gustaría saber como puedo hacer que 1 item de un comboBox
> pueda almacenar 2 campos (por ejemplo, descripción + ID).
>
> Ahora sólo le puedo poner 1 de los 2, pero me interesaría poder ponerlos
> los
> 2.

Los items del combo son de tipo "Object", con lo que les puedes meter
cualquier cosa. Si quieres meter descripción+ID, lo que haces es crear una
clase que tenga estos dos valores y asignar al combo items de esta clase.
Dentro de la clase tendrás que hacer un override del ToString para


devolver
el texto que quieras que se visualice en pantalla al desplegar el combo.

Por Ejemplo:

private class UnItem
{
public int ID;
public string descripcion;
public UnItem(int id, string desc) { ID=id; descripcion=desc; }
public override string ToString() { return descripcion; }
}
...

combobox1.Items.Add(new UnItem(1, "Hola"));
combobox1.Items.Add(new UnItem(2, "Adios"));
...

int idSeleccionado = ((UnItem)combobox1.SelectedItem).ID;



email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida