Buonasera,
premessa d'obbligo che è da poco che mi sono accostato ad asp.net, ho un problema che non riesco a risolvere:
Ho creato una Gridview che acquisisce i dati da un database access la cui tabella possiede una chiave ed ho abilitato editing dei record.
Fin qui tutto ok.
ora ho bisogno di valutare cosa fà l'utente e alla modifica di un campo del record selezionato devo valutare sia i vecchi valori che i nuovi.
Ora per i vecchi valori ho risolto ma non riesco a catturare il valore del nuovo.
Ho provato sia con 'OnRowUpdated' che con 'OnRowUpdating' ma non riesco a farlo funzionare.
Posto il codice per maggiore chiarezza e ringrazio tutti per l'aiuto.
HTML
<form id="form1" runat="server">
<div>
<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False"
DataKeyNames="IdCalendario" DataSourceID="AccessDataSource1"
onselectedindexchanged="GridView1_SelectedIndexChanged"
OnRowEditing="RowEditata" AllowPaging="True" OnRowUpdating="DopoUpdated" >
<Columns>
Etc.etc.
.
.
.
.
.
</div>
<asp:CustomValidator ID="CustomValidator1" runat="server"
ErrorMessage="CustomValidator">*</asp:CustomValidator>
</form>
Il CODICE
using System;
using System.Collections;
using System.Configuration;
using System.Data;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
public partial class Prova : System.Web.UI.Page
{
private string NewRSq1;
private string NewRSq2;
private bool NewGiocata;
private string NewNote;
private string OldRSq1;
private string OldRSq2;
private bool OldGiocata;
private string OldNote;
protected void Page_Load(object sender, EventArgs e)
{
}
protected void DopoUpdated(object sender, GridViewUpdatedEventArgs e)
{
// COME CATTURO UN CAMPO DEL RECORD????
NewRSq1 = GridView1.........;
CustomValidator1.Text = "Campo DopoUpDate " + NewRSq1.Trim() ;
CustomValidator1.IsValid = false;
}
protected void GridView1_SelectedIndexChanged(object sender, EventArgs e)
{
CustomValidator1.Text = "Campo SelectChanged ";
CustomValidator1.IsValid = false;
}
protected void RowEditata(object sender, GridViewEditEventArgs e)
{
// Questa funziona
OldRSq1 = this.GridView1.Rows[e.NewEditIndex].Cells
.Text;
CustomValidator1.Text = "Campo RowEditata " + OldRSq1.Trim() ;
CustomValidator1.IsValid = false;
}
}