Secondo voi cosa sbaglio?
Ho un pulsante di ricerca che effettua la ricerca e filla un gridview
il problema è che se cancello un elemento (lanciando l'apposito metodo) la cancellazione sul DB viene eseguita ma non vedo il gridview aggiornato
cosa sbaglio??
private void BindGrid()
{
DataSet dsElenco;
dsElenco = msnHelper.DataHelper.GetAttivita(sqlConnection);
if (dsElenco.Tables[0].Rows.Count >= 0)
{
// Imposto il filtro presente nel ViewState
if (ViewState["LastFilter"] != null)
{
dsElenco.Tables[0].DefaultView.RowFilter = ViewState["LastFilter"].ToString();
}
GridView1.Dispose();
GridView1.DataSource = dsElenco.Tables[0];
GridView1.DataBind();
}
}
protected void btnRicerca_Click(object sender, EventArgs e)
{
string Stato_Filter = ddlRicercaStato.SelectedValue;
string Tipologia_Filter = ddlRicercaTipologia.SelectedValue;
string Descrizione_Filter = tbRicercaDescrizione.Text;
StringBuilder sb = new StringBuilder();
if (Descrizione_Filter != "")
sb.AppendFormat("(Descrizione LIKE '%{0}%')", Descrizione_Filter);
if (Stato_Filter != "Seleziona...")
sb.AppendFormat("{1} (IDAttivitaStato = '{0}')", Stato_Filter, ((sb.Length != 0) ? " AND " : ""));
if (Tipologia_Filter != "Seleziona...")
sb.AppendFormat("{1} (IDAttivitaTipo = '{0}')", Tipologia_Filter, ((sb.Length != 0) ? " AND " : ""));
if ((tbRicercaDataInizio.Text != "") && (tbRicercaDataFine.Text != ""))
{
DateTime DataInizio_Filter = Convert.ToDateTime(tbRicercaDataInizio.Text);
DateTime DataFine_Filter = Convert.ToDateTime(tbRicercaDataFine.Text);
sb.AppendFormat("{2} (Data >= '{0}' AND Data <= '{1}')", DataInizio_Filter, DataFine_Filter, ((sb.Length != 0) ? " AND " : ""));
}
string s = sb.ToString();
ViewState["LastFilter"] = s; //Persist filter on postback
BindGrid();
GridView1.PageIndex = 0;
}
protected void gwCancella_Click(object sender, EventArgs e)
{
int IDAttivita;
IDAttivita = Convert.ToInt32(((Button)sender).CommandArgument);
msnHelper.DataHelper.DeleteAttivita(sqlConnection, IDAttivita);
BindGrid();
}

Rispondi quotando