Foros del Web » Programando para Internet » ASPX (.net) »

problemas con 3 dropdownlist enlazados

Estas en el tema de problemas con 3 dropdownlist enlazados en el foro de ASPX (.net) en Foros del Web. Estimados tengo 3 drop que se cargan de la base de datos, el drop1 carga las regiones, el drop2 carga las ciudades y el drop3 ...
  #1 (permalink)  
Antiguo 10/08/2009, 20:52
Avatar de BlueSkull  
Fecha de Ingreso: noviembre-2008
Ubicación: Chile
Mensajes: 504
Antigüedad: 15 años, 5 meses
Puntos: 4
problemas con 3 dropdownlist enlazados

Estimados tengo 3 drop que se cargan de la base de datos, el drop1 carga las regiones, el drop2 carga las ciudades y el drop3 carga las comunas, al cambiar las ciudades carga bien las comunas pero al cargar las regiones carga bien las ciudades pero el problema esta en que queda la ensalada con el drop3 ya que empieza a duplicar la informacion de la lista, como puedo solucionar esto?

Gracias, adios.
__________________
"Incluso las torres más altas empiezan en el suelo."
"Sé Ágil..."
StreamWriter
  #2 (permalink)  
Antiguo 11/08/2009, 05:42
Avatar de pyroCL  
Fecha de Ingreso: marzo-2009
Ubicación: C#
Mensajes: 261
Antigüedad: 15 años, 1 mes
Puntos: 2
Respuesta: problemas con 3 dropdownlist enlazados

No se como estás cargando tus listas, podrías poner tu código para ayudarte.

Tip: Intenta antes de cargar una lista, borrar los itemes. lista.Item.clear();


Saludos.
__________________
La verdadera sabiduría está en reconocer la propia ignorancia.
  #3 (permalink)  
Antiguo 11/08/2009, 06:30
 
Fecha de Ingreso: agosto-2009
Mensajes: 27
Antigüedad: 14 años, 8 meses
Puntos: 1
Respuesta: problemas con 3 dropdownlist enlazados

claro, tu piensa que si al pulsar un botón haces:

dropdownlistitems.add("1");

se produce postback, y al pulsar otro botón haces:

dropdownlistitems.add("2");

lo que quedará en el drop serán 1 y 2, no 2 sólo. Lo que tienes que hacer cada vez que se produzca un postback (cuando cambies de item de los drops anteriores) tienes que meter un:

dropdownlist.items.clear();

Miralo y nos cuentas
  #4 (permalink)  
Antiguo 11/08/2009, 11:55
Avatar de BlueSkull  
Fecha de Ingreso: noviembre-2008
Ubicación: Chile
Mensajes: 504
Antigüedad: 15 años, 5 meses
Puntos: 4
Respuesta: problemas con 3 dropdownlist enlazados

Estimados, estoy cargando los drop con SqlDataSource, pongo el codigo:

ddl1:
Código PHP:
<asp:DropDownList ID="ddl_regiones" runat="server" 
                        
onselectedindexchanged="ddl_regiones_SelectedIndexChanged" Width="200px" 
                        
DataSourceID="dsRegiones" DataTextField="Region" 
                        
DataValueField="IdRegion" AppendDataBoundItems="true">
                        <
asp:ListItem Text="REGIONES" Enabled="true" Value="-1"></asp:ListItem>
                    </
asp:DropDownList>
                    
                    <
asp:SqlDataSource ID="dsRegiones" runat="server" 
                        
ConnectionString="<%$ ConnectionStrings:THERMOPARCORTEConnectionString %>" 
                        
SelectCommand="SELECT [IdRegion], [Region] FROM [Region]">
                    </
asp:SqlDataSource
ddl2:
Código PHP:
<asp:DropDownList ID="ddl_ciudad" runat="server" 
                        
onselectedindexchanged="ddl_ciudad_SelectedIndexChanged" Width="200px" 
                        
DataSourceID="dsCiudades" DataTextField="Ciudad" DataValueField="IdCiudad" 
                        
Enabled="False" AppendDataBoundItems="true">
                        <
asp:ListItem Text="CIUDADES" Enabled="true" Value="-1"></asp:ListItem>
                    </
asp:DropDownList>
                    
                    <
asp:SqlDataSource ID="dsCiudades" runat="server" 
                        
ConnectionString="<%$ ConnectionStrings:THERMOPARCORTEConnectionString %>" 
                        
SelectCommand="SELECT * FROM [Ciudad] WHERE ([IdRegion] = @IdRegion) ORDER BY [Ciudad]">
                        <
SelectParameters>
                            <
asp:ControlParameter ControlID="ddl_regiones" Name="IdRegion" 
                                
PropertyName="SelectedValue" Type="Int32" />
                        </
SelectParameters>
                    </
asp:SqlDataSource
ddl3:
Código PHP:
<asp:DropDownList ID="ddl_comuna" runat="server" Width="200px"
                        
Enabled="False" onselectedindexchanged="ddl_comuna_SelectedIndexChanged" 
                        
DataSourceID="dsComunas" DataTextField="Comuna" 
                        
DataValueField="IdComuna" AppendDataBoundItems="true">
                        <
asp:ListItem Text="COMUNAS" Enabled="true" Value="-1"></asp:ListItem>
                    </
asp:DropDownList>
                    
                    <
asp:SqlDataSource ID="dsComunas" runat="server" 
                        
ConnectionString="<%$ ConnectionStrings:THERMOPARCORTEConnectionString %>" 
                        
SelectCommand="SELECT [IdComuna], [Comuna] FROM [Comuna] WHERE ([IdCiudad] = @IdCiudad) ORDER BY [Comuna]">
                        <
SelectParameters>
                            <
asp:ControlParameter ControlID="ddl_ciudad" Name="IdCiudad" 
                                
PropertyName="SelectedValue" Type="Int32" />
                        </
SelectParameters>
                    </
asp:SqlDataSource
C#:
Código PHP:
protected void ddl_regiones_SelectedIndexChanged(object senderEventArgs e)
    {
        
this.ddl_ciudad.Enabled true;
        
this.ddl_ciudad.Items.Clear();
        
this.ddl_comuna.Items.Clear();
    }

    protected 
void ddl_ciudad_SelectedIndexChanged(object senderEventArgs e)
    {
        
this.ddl_comuna.Enabled true;
        
this.ddl_comuna.Items.Clear();
    }

    protected 
void ddl_comuna_SelectedIndexChanged(object senderEventArgs e)
    {

    } 
Espero que me puedan ayudar ya que aun asi se me duplica la informacion en el ddl3 al cambiar regiones.
__________________
"Incluso las torres más altas empiezan en el suelo."
"Sé Ágil..."
StreamWriter
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 21:20.