Eventi multipli

giovedì 21 settembre 2006 - 13.00

S4turno Profilo | Junior Member

Ho questa funzione che viene scatenata dal click su un bottone in una gridview; la gridview elenca una lista di bandi aperti (In corso), che tramite il bottone io posso chiudere. La differenza fra un bando aperto e chiuso non è altro che il valore di un campo sul database.

protected void gvBandi_RowCommand(object sender, GridViewCommandEventArgs e) { string RowSelected = e.CommandArgument.ToString(); int iRowSelected = Convert.ToInt32(RowSelected); ds = ObjBando.Ricerca("Descrizione = 'In corso'"); int id = Convert.ToInt32(ds.Tables[0].Rows[iRowSelected]["BandoID"].ToString()); if (e.CommandName == "Chiudi") { ObjBando.id = id; ObjBando.Chiudi(); lblChiudiBandi.Text = "Bando Chiuso"; lblChiudiBandi.Visible = true; } ds = ObjBando.Ricerca("Descrizione = 'In corso'"); if (ds.Tables[0].Rows.Count == 0) { lblChiudiBandi.Text = "Nessun bando aperto presente"; lblChiudiBandi.Visible = true; } gvBandi.DataSource = ds.Tables[0]; gvBandi.DataBind(); }

Allo scatenarsi dell'evento questa funzione viene eseguita due volte; la prima volta chiude il bando giusto, la seconda volta quello successivo (perchè iRowSelect rimane lo stesso, ma il dataset ds creato filtrando i bandi non contiene più il bando chiuso precedentemente). Chiaramente vorrei che ne chiudesso solo uno, il primo.
Ho provato a commentare le ultime due righe:
//gvBandi.DataSource = ds.Tables[0];
//gvBandi.DataBind();
Adesso mi esegue una sola volta la funzione, ma non aggiorna la gridview allo stato attuale....
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2025
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5