• Lunes 18 de Noviembre de 2024, 03:36

Autor Tema:  IDs en un ComboBox  (Leído 1086 veces)

darhas

  • Nuevo Miembro
  • *
  • Mensajes: 1
    • Ver Perfil
IDs en un ComboBox
« en: Miércoles 12 de Mayo de 2010, 16:11 »
0
Hola a todos tengo una duda tonta

Antes de nada NO ES ASP.NET, es un Windows FORM, lo digo para que no haya confusion.

Saco unos datos de una Base de Datos para meterlos en un ComboBox.

Esos datos son TEXTO mas el ID de la base de datos.

Muestro en el ComboBox el TEXTO, pero mi duda es, como pongo en el ComboBox
el ID correspondiente al TEXTO, para recoger el ID de la seleccion.

Idem para un ListBox

En ASP si que se hacerlo, pongo el ejemplo del ASP para que me entendais
mejor.

<Select Name="Categoria" Onchange = "javascript:Envio();">
      <option></option>
      <option value="<%=RS("ID")%>"> <%=RS("TEXTOQUESEENTIENDE")%></option>
</Select>

Un saludo y gracias por todo
Darhas

Jeysscarr

  • Miembro MUY activo
  • ***
  • Mensajes: 134
  • Nacionalidad: co
    • Ver Perfil
Re: IDs en un ComboBox
« Respuesta #1 en: Lunes 17 de Mayo de 2010, 00:52 »
0
Hola cómo estás, acabé de crear una pequeña página de ejemplos de C# y Windows Forms y hace unos dias cree un video explicando como hacer EXACTAMENTE ESO QUE DIJISTE, la página es la siguiente: http://www.facebook.com/home.php?#!/vid ... 094&ref=mf

Básicamente creo una clase que dispone de ID y TEXTO
y cambio el metodo ToSTring de la clase base para que devuelva el texto

asi cuando agrego valores al combo, lo unico que debo hacer es algo como esto:

Combobox1.Items.Add(New MICLASE(0,"Texto del id 0"));

Para recuperar el id solo creo un Método Static en la clase que reciba como parametro un OBJECT y devuelva el texto del mismo, asi al ser static no tengo que crear una nueva instancia de la clase, sino que uso el método directamente:

---desde la clase seria algo como:

Código: C#
  1. Public Static ObtenerTextoPorID(Object ItemComboSeleccionado)
  2. {
  3.        if(ItemComboSeleccionado!=null)
  4.        {
  5.              //Convierto el objeto seleccionado y devuelvo el combo
  6.              return Int.Parse( ( (MICLASE)ItemComboSeleccionado ).ToString() );
  7.        }
  8.        else
  9.              return 0;
  10. }
  11.  
  12.  
-- desde el Formulario seria:

Código: C#
  1. int ID=MICLASE.ObtenerTextoPorID (ComboBox1.SelectedItem);
  2.  

Que pena la respuesta tán tarde pero de algo servirá  :beer:
Nuestro poder está creciendo mas rápido que nuestra sabiduria