Torna al Thread
protected void ddl1_SelectedIndexChanged(object sender, EventArgs e)
{
DropDownList ddl = ((DropDownList)sender); //Questa serve solo per recuperare laddl chiamante
string id = ((DropDownList)sender).SelectedValue.ToString(); //qui recupero il valore (l'id) dell'elemento selezionato
DataSet dsW= (DataSet)ViewState["DS"]; //recupero il source della griglia, che avevo messo nel viewstate
DataRow[] drw = dsW.Tables[0].Select("CAMPO_DA_FILTRARE=" + id); //lo filtro: mi restituisce un insieme di righe
DataTable dt = dsW.Tables[0].Clone(); //mi creo una copia vuota della struttura del source per avere le stesse colonne
foreach (DataRow dr in drw) //ciclo inserendo ogni riga della select nel source clonato
dt.ImportRow(dr); //per farlo uso l'importRow
dg1.DataSource = dt; //associo il source clonato e riempito alla griglia
dg1.DataBind(); //e lo bindo
}