Ver Mensaje Individual
  #3 (permalink)  
Antiguo 17/07/2009, 13:40
Avatar de BlueSkull
BlueSkull
 
Fecha de Ingreso: noviembre-2008
Ubicación: Chile
Mensajes: 504
Antigüedad: 15 años, 6 meses
Puntos: 4
Respuesta: Cargar un segundo dropdownlist dependiendo del primer dropdownlist

Estimado aqui dejo mi codigo:

El codigo de la aspx:

Código PHP:
 <asp:DropDownList ID="ddl_filtro" runat="server" Width="150px"
                        
onselectedindexchanged="ddl_filtro_SelectedIndexChanged"
                        
AppendDataBoundItems="true" AutoPostBack="True">
                        <
asp:ListItem Selected="True">CLIENTE</asp:ListItem>
                        <
asp:ListItem>OBRA</asp:ListItem>
                        <
asp:ListItem>ORDEN</asp:ListItem>
                    </
asp:DropDownList>

<
asp:DropDownList ID="ddl_filtro2" runat="server" Width="150px" 
                        
onselectedindexchanged="ddl_filtro2_SelectedIndexChanged"
                        
AppendDataBoundItems="true" AutoPostBack="True" >
                        <
asp:ListItem Text="SELECCIONE" Enabled="true" Value="-1"></asp:ListItem>
                    </
asp:DropDownList
El primer dropdownlist:

Código PHP:
protected void ddl_filtro_SelectedIndexChanged(object senderEventArgs e)
    {
        if (
this.ddl_filtro.SelectedItem.Value == "CLIENTE")
        {
            
Conexion con = new Conexion();
            
con.Conectar();
            
string sql1 "SELECT DISTINCT CLIENTE.RUT, (CLIENTE.NOMBRE+' '+CLIENTE.APELLIDOP+' '+CLIENTE.APELLIDOM) AS CLIENTE FROM CLIENTE INNER JOIN OBRA ON CLIENTE.RUT = OBRA.RUT INNER JOIN ORDEN ON OBRA.IDOBRA = ORDEN.IDOBRA INNER JOIN DETALLEORDEN ON ORDEN.NFABRICACION = DETALLEORDEN.NFABRICACION WHERE (DETALLEORDEN.TIPODET = 'VENTANA')";
            
SqlDataAdapter da = new SqlDataAdapter(sql1con.get_conecction());
            
DataSet ds = new DataSet();
            
da.Fill(ds"CLIENTE");
            
this.ddl_filtro2.DataTextField ds.Tables["CLIENTE"].Columns["CLIENTE"].ToString();
            
this.ddl_filtro2.DataValueField ds.Tables["CLIENTE"].Columns["RUT"].ToString();
            
this.ddl_filtro2.DataSource ds.Tables["CLIENTE"];
            
this.ddl_filtro2.DataBind();
            
con.Desconectar();
        }
        else
        {
            if (
this.ddl_filtro.SelectedItem.Value == "OBRA")
            {
                
Conexion con = new Conexion();
                
con.Conectar();
                
string sql2 "SELECT OBRA.IDOBRA,OBRA.OBRA, DETALLEORDEN.TIPODET FROM CLIENTE INNER JOIN OBRA ON CLIENTE.RUT = OBRA.RUT INNER JOIN ORDEN ON OBRA.IDOBRA = ORDEN.IDOBRA INNER JOIN DETALLEORDEN ON ORDEN.NFABRICACION = DETALLEORDEN.NFABRICACION WHERE (DETALLEORDEN.TIPODET = 'VENTANA')";
                
SqlDataAdapter da = new SqlDataAdapter(sql2con.get_conecction());
                
DataSet ds = new DataSet();
                
da.Fill(ds"OBRA");
                
this.ddl_filtro2.DataTextField ds.Tables["OBRA"].Columns["OBRA"].ToString();
                
this.ddl_filtro2.DataValueField ds.Tables["OBRA"].Columns["IDOBRA"].ToString();
                
this.ddl_filtro2.DataSource ds.Tables["OBRA"];
                
this.ddl_filtro2.DataBind();
                
con.Desconectar();
            }
            else
            {
                if (
this.ddl_filtro.SelectedItem.Value == "ORDEN")
                {
                    
Conexion con = new Conexion();
                    
con.Conectar();
                    
string sql3 "SELECT ORDEN.NFABRICACION FROM CLIENTE INNER JOIN OBRA ON CLIENTE.RUT = OBRA.RUT INNER JOIN ORDEN ON OBRA.IDOBRA = ORDEN.IDOBRA INNER JOIN DETALLEORDEN ON ORDEN.NFABRICACION = DETALLEORDEN.NFABRICACION WHERE (DETALLEORDEN.TIPODET = 'VENTANA')";
                    
SqlDataAdapter da = new SqlDataAdapter(sql3con.get_conecction());
                    
DataSet ds = new DataSet();
                    
da.Fill(ds"ORDEN");
                    
this.ddl_filtro2.DataTextField ds.Tables["ORDEN"].Columns["NFABRICACION"].ToString();
                    
this.ddl_filtro2.DataValueField ds.Tables["ORDEN"].Columns["NFABRICACION"].ToString();
                    
this.ddl_filtro2.DataSource ds.Tables["ORDEN"];
                    
this.ddl_filtro2.DataBind();
                    
con.Desconectar();
                }
            }
        }
    } 
El segundo dropdownlist:

Código PHP:
protected void ddl_filtro2_SelectedIndexChanged(object senderEventArgs e)
    {
        
Funciones fun = new Funciones();
        
this.parametro this.ddl_filtro2.SelectedItem.Value;
        
this.lbl_mensaje1.Text this.parametro;
    } 
Espero que me puedas ayudar.
__________________
"Incluso las torres más altas empiezan en el suelo."
"Sé Ágil..."
StreamWriter