Sono obbligato a farlo dato che ad ogni roundtrip (come lo chiami tu) le combo sono svuotate dai campi...ho provato a mettere un if(!IsPostBack) e difatti i campi delle combo mi rimarrebbero vuoti.
Quindi devo ricompilare la prima combo tutte le volte.
codice:
private void Page_Load(object sender, System.EventArgs e)
{
ddlProgetto.ID="ctl_1";
ddlProgetto.AutoPostBack=true;
ddlProgetto.Riempi(business.progetto.Componiprogetto(dbwrap.progetto.GetByFilter("")),"id_progetto","nome");
ddlProgetto.Width=200;
ddlLinea.AutoPostBack=true;
ddlLinea.Width=200;
ddlFase.Width=200;
}
private void calcolaCosto_Click(object sender, System.EventArgs e)
{
/// Calcolo dei costi e output dati su tabella.
}
private void ddlProgetto_SelectedIndexChanged(object sender, System.EventArgs e)
{
if(ddlProgetto.ValoreIdLong!=0)
{
ddlLinea.Riempi(business.linea.Componilinea(dbwrap.linea_join.GetByFilter(" where progetto.id_progetto="+ddlProgetto.ValoreIdLong)),"id_linea","nome");
}
}
private void ddlLinea_SelectedIndexChanged(object sender, System.EventArgs e)
{
if(ddlLinea.ValoreIdLong!=0 && ddlProgetto.ValoreIdLong!=0)
{
ddlFase.Riempi(business.fase.Componifase(dbwrap.fase.GetByFilter(" where id_progetto="+ddlProgetto.ValoreIdLong)),"id_fase","nome");
}
}
ddlProgetto è la prima combo
ddlLinea la seconda
ddlFase la terza.