Ciao a tutti, ho un problema con una gridView alla quale ho implementato via code file tutta la gestione per l'update. Posto il codice interessato....
Gestore evento UpDate:
// Gestore per l'evento di update:
protected void GvDestinazioni_Update(object sender, GridViewUpdateEventArgs e)
{
//Creo una nuova istanza per la riga selezionata
GridViewRow row = GvDestinazioni.Rows[GvDestinazioni.EditIndex];
// Istanzio tutti controlli presenti negli EditItem
string id = GvDestinazioni.Rows[e.RowIndex].Cells[0].Text;
string titolo = ((TextBox)GvDestinazioni.Rows[e.RowIndex].FindControl("Edit_Txt_Titolo")).Text; //.Cells[1].Controls[0]).Text;
string posizione = ((TextBox)GvDestinazioni.Rows[e.RowIndex].FindControl("Edit_Txt_Posizione")).Text; // .Cells[2].Controls[0]).Text;
string img = ((FileUpload)GvDestinazioni.Rows[e.RowIndex].FindControl("FileUploadEditImg")).FileName; // .Cells[3].Controls[0]).FileName;
bool vis = ((CheckBox)GvDestinazioni.Rows[e.RowIndex].FindControl("Edit_Chk_Visibile")).Checked; // .Cells[4].Controls[0]).Checked;
UpdateNewRecord(id, titolo, posizione, img, vis);
GvDestinazioni.EditIndex = -1;
BindData();
}
Gestore con la connection, query, etc.
private void UpdateNewRecord(string id, string titolo, string posizione, string img, bool vis)
{
OleDbConnection connection = new OleDbConnection(GetConnectionString());
string OleDbStatement = string.Empty;
OleDbStatement = "UPDATE tbl_destinazione SET nome_titolo_dest = @nome_titolo, visibile_dest = @vis, posizione_dest = @pos, img_dest = @img WHERE id_dest = @id";
try
{
connection.Open();
OleDbCommand cmd = new OleDbCommand(OleDbStatement, connection);
cmd.Parameters.AddWithValue("@id", id);
cmd.Parameters.AddWithValue("@nome_titolo", titolo);
cmd.Parameters.AddWithValue("@pos", posizione);
cmd.Parameters.AddWithValue("@img", img);
cmd.Parameters.AddWithValue("@vis", vis);
//cmd.CommandType = CommandType.Text;
cmd.ExecuteNonQuery();
}
catch (System.Data.OleDb.OleDbException ex)
{
string msg = "Errore Update:";
msg += ex.Message;
throw new Exception(msg);
}
finally
{
connection.Close();
}
}
Tutto sembra funzionare, se non che quando in modalità edit e dopo aver fatto le modifiche si preme sul pulsante update il controllo torna in modalità normale senza pero avere apportato le modifiche al Db. Avete qualche suggerimento?
grazie!