Row_update

martedì 06 novembre 2007 - 14.19

toniovigi Profilo | Expert

Ciao ragazzi , una domanda sull'evento Row_Update di una gridview,

come faccio a capire quale riga mi è stata aggiornata??esista qualke funzione??

pozzoli.samuele Profilo | Senior Member

Proverei a guardare nel paramatro e ... che contiene gli argomenti dell'evento considerato.

Prova a scrivere e. , intellisense dovrebbe proporti propietà e metodi disponibili, tra cui l'identificativo della riga...

Facci sapere, anzitutto, se c'è qualcosa di utile li. Oppure, prova a vedere di che tipo è il sender. Se è la riga, ottenuto il numero della stessa, risali all'id.

Sono metodi complicati, ma non uso praticamente mai gli oggetti di accesso ai dati... preferisco fare tutto in SQL e compilare a manina.

toniovigi Profilo | Expert

mmm sto guardando l'evento e..:
e.affectedrows che mi restituisce le righe affette dall'update,penso un int quindi


e.OldValues dice : ottiene un dizionario contente le coppi nome/valore originarie prima dell'update...ma cosa si intende per dizionario?salvo in una stringa??

powermax74 Profilo | Newbie

L'evento che dovresti utilizzare è RowUpdating e non RowUpdated come si potrebbe dedurre.

Infatti in RowUpdating hai e.RowIndex

Questi della Microsoft ogni volta cambiano le carte in tavola
TO BIT OR NOT TO BIT THIS IS THE MATRIX

toniovigi Profilo | Expert

perfetto cosi ottengol'indice...ma poi cè un modo per fare la query dandogli l'indice???
grazie!!!!!!

pozzoli.samuele Profilo | Senior Member

No. Ma puoi mettere l'id in una cella, magari invisibile, e da quella prendere l'id per la query!

Quindi diventa:

id = tabella.rows(indice).cells(numero cella).text

Giusto?

toniovigi Profilo | Expert

mmmm...

nn riesco a capire..k linguaggio e?

pozzoli.samuele Profilo | Senior Member

Sono oggetti di esempio con varibili di esempio! ADATTA IL CODICE AL TUO PROGETTO.

Come posso indovinare che oggetti stai usando e che nomi hai dato alle variabili?

Ah... già.... Scusa, dimenticavo... Però oggi la sfera di cristallo l'ho proprio lasciata a casa, difianco agli occhi di lucertola dell'altro giorno...

powermax74 Profilo | Newbie

protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack) // IMPORTANTE NEL LOAD CARICARE I DATI SOLO LA PRIMA VOLTA
{
BindData();
}
}

protected void BindData()
{
DataTable t = new DataTable();
DataColumn c1 = new DataColumn("A");
t.Columns.Add(c1);
DataRow _row = null;
_row = t.NewRow();
_row["A"] = "1";
t.Rows.Add(_row);
_row = t.NewRow();
_row["A"] = "2";
t.Rows.Add(_row);
_row = t.NewRow();
_row["A"] = "3";
t.Rows.Add(_row);
_row = t.NewRow();
_row["A"] = "4";
t.Rows.Add(_row);
GridView1.DataSource = t;
GridView1.DataBind();
}


protected void GridView1_RowEditing(object sender, GridViewEditEventArgs e) // GENERATO QUANDO PREMO EDIT
{
GridView1.EditIndex = e.NewEditIndex; // VADO NELLA MODALITA' EDIT E GLI PASSO L'INDICE DA EDITARE
BindData();//COLLEGO I DATI AL GRID
}

protected void GridView1_RowUpdating(object sender, GridViewUpdateEventArgs e) //GENERATO QUANDO PREMO AGGIORNA
{

string val = ((TextBox)GridView1.Rows[e.RowIndex].Cells[1].Controls[0]).Text;// PRENDO IL VALORE DALLA TEXTBOX AGGIORNATO
// AGGIORNO DATI

//....................
GridView1.EditIndex = -1;// RIPRISTINO LA MODALITA' NORMALE (NON EDIT)
BindData(); //COLLEGO I DATI AL GRID
}



protected void GridView1_RowCancelingEdit(object sender, GridViewCancelEditEventArgs e)// GENERATO QUANDO PREMO ANNULLA
{
GridView1.EditIndex = -1;// RIPRISTINO LA MODALITA' NORMALE (NON EDIT)
BindData(); //COLLEGO I DATI AL GRID
}
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-2024
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5