• Martes 30 de Abril de 2024, 01:25

Autor Tema:  Añadir Elementos Listbox  (Leído 5731 veces)

oOscar

  • Nuevo Miembro
  • *
  • Mensajes: 5
    • Ver Perfil
Añadir Elementos Listbox
« en: Martes 20 de Enero de 2004, 23:05 »
0
Hola... veo este foro muy vacio... a ver si se anima un poco.

Vereis, tengo un problema, estoy haciendo un ejercicio en Asp.Net con codigo en C#. Mi idea es dos ChekButton; uno para Sexo Masculino y otro para Sexo Femenino, y que cuando se seleccionara uno de ellos, apareciera en un ListBox una serie de Nombres, de hombres o mujeres dependiendo de la seleccion.

Bueno, mi problema esta en justamente llenar este listBox. He conseguido AÑADIR los nombres. Pero no es eso lo que busco. En codigo generico seria algo asi como:

Si se ha seleccionado Masculino:
    elemento(0)ListBox == Andres
    elemento(1)ListBox == Pepe
    ...
Si no
    elemento(0)ListBox == Maria
    elemento(1)ListBox == Pepa
    ...

¿me comprendeis? ¿sabeis como podria hacerse?

Bueno, os dejo aqui, el codigo que yo he podido hacer, que como vuelvo a repetir, solo AÑADE nombres al listBox (provad a seleccionar los ChekButton varias veces, os vais a cagar...)

Bueno, muchas gracias de antemano.
Un saludo. :comp:

Código: Text
  1. <%@ Page Language="C#" %>
  2. <script runat="server">
  3.    
  4.     void CambiarNombres (object sender, System.EventArgs e) {  
  5.    
  6.     if (rlSexo.SelectedIndex == 0) {  //Si se ha seleccionado "Hombre"
  7.     lbNombres.Items.Add ("Juan") &#59;
  8.     lbNombres.Items.Add ("Pedro") &#59;        
  9.     lbNombres.Items.Add ("Adres") &#59;
  10.         }
  11.     else {
  12.     lbNombres.Items.Add ("Soledad");    //Si se ha seleccionado "Mujer"
  13.     lbNombres.Items.Add ("Angelina") &#59;    
  14.     lbNombres.Items.Add ("Cynthia") &#59;    
  15.         }
  16.    
  17.     }
  18.    
  19.  
  20.     void MostrarMensaje (object sender, System.EventArgs e)
  21.     {
  22.   string Nombre= lbNombres.SelectedItem.Text;
  23.   lblMensaje.Text="¡" + Nombre + " es un bonito nombre, ¿no crees?!";
  24.     }
  25.    
  26. </script>
  27.  
  28. <html><body>
  29.     <form runat="server">
  30.   <asp:label id="lblMensaje" runat="server" /> <p>
  31.   Seleccione Sexo: <br>
  32.   <asp:RadioButtonList id="rlSexo" runat="server" RepeatDirection="Horizontal" OnSelectedIndexChanged="CambiarNombres" AutoPostBack="true"> <%-- Envio de datos instantaneos. No olvidar poner el AutoPostBack a True!!! --%>
  33.     <asp:ListItem>Hombre</asp:ListItem>
  34.     <asp:ListItem>Mujer</asp:ListItem>
  35.   </asp:RadioButtonList>
  36.   Los Nombres Posibles Son:<br>
  37.   <asp:ListBox id="lbNombres" runat="server" OnSelectedIndexChanged="MostrarMensaje" AutoPostBack="true" SelectionMode="single" Rows="4" Width="100">
  38.  
  39.   </asp:ListBox>        
  40.   </form>
  41. </body></html>    
  42.  

timpsoft

  • Miembro activo
  • **
  • Mensajes: 53
    • Ver Perfil
    • http://www.msdnlive.net/
Re: Añadir Elementos Listbox
« Respuesta #1 en: Jueves 14 de Octubre de 2004, 16:02 »
0
Hola Oscar, si el problema es que por cada click que das se van sumando los Items es debido a que cada vez que ejecutas el click se esta generando el evento de llenar el combo una vez mas.
intenta con esto.

void CambiarNombres (object sender, System.EventArgs e) {  

  lbNombres.Items.clear()  
  if (rlSexo.SelectedIndex == 0) {  //Si se ha seleccionado "Hombre"
   lbNombres.Items.Add ("Juan") ;
   lbNombres.Items.Add ("Pedro") ;        
   lbNombres.Items.Add ("Adres") ;
       }
  else {
   lbNombres.Items.Add ("Soledad"); //Si se ha seleccionado "Mujer"
   lbNombres.Items.Add ("Angelina") ;    
   lbNombres.Items.Add ("Cynthia") ;    
       }
 
}