GridView

mercoledì 27 ottobre 2010 - 07.50
Tag Elenco Tags  C#  |  .NET 2.0  |  Visual Studio 2005  |  SQL Server Express

skraus Profilo | Junior Member

Salve,
in una pagina .aspx (.NET 2) ho una gridView a cui valorizzo il DataSource a runtime mediante una DataTable che ho in Session.

Il GridView è composto di 4 colonne tutte Template, le prime 2 sontengono ImageButton e le altre 2 i controlli necessari per la visualizzazione e modifica dei dati. Quando clicco sul tasto che dovrebbe mettermi il record in edit (ho assegnato alla proprietà CommandName dell'ImageButton il valore Edit) non accade nulla.

Ho provato anche a forzarlo mediante codice utilizzando la proprità RowState, ma senza esito. Inoltre SE nel file .cs NON è presente in modo esplicito la gestione dell'evento RowEditing ottengo una eccezione, nonostante nel file .aspx non risulti gestito detto evento.

Tutto ciò nella pagina di inserimento di una anagrafica cliente, in cui devo raccogliere gli n recapiti del cliente prima ancora che il suo record sia presente nel DB.

Sono ben accetti indicazioni, suggerimenti e consigli.

Grazie
Sk

paoval72 Profilo | Senior Member

Ciao. Puoi postare il codice dell'aspx?

PV

skraus Profilo | Junior Member

Allego il codice relativo alla pagina newCliente.aspx che contiene la gridView in questione, nello specifico si trova nel InsertItemTemplate del FormView1.

Ciao e Grazie

Sk

paoval72 Profilo | Senior Member

Ciao. puoi specificare di quale Gridview stiamo parlando? Ho visto che ce ne sono 5.

skraus Profilo | Junior Member

Hai ragione scusa. Faccio riferimento alla GridView il cui ID=GridViewRecapiti e si trova nel InsertTemplate e nel fieldset il cui legend vale Recapiti.

Grazie e scusa ancora per la distrazione.
Sk

paoval72 Profilo | Senior Member

Non c'è problema!
L'errore che ti viene mostrato è dovuto al fatto che manca la gestione dell'edit, ovvero il _rowEditing.
Questa funzione ti serve perchè vai a settare il nuovo indice di riga (= quella che vuoi editare) e poi devi rifare il bind dei dati (da quel che ho capito li hai in session), in modo che si riposizioni sulla riga scelta in modalità di Edit.
Qualcosa di simile:
protected void gv1_RowEditing1(object sender, GridViewEditEventArgs e) { gv1.EditIndex = e.NewEditIndex; gv1.DataSource = (DataTable)Session["dati"]; gv1.DataBind(); }

Se non c'è questo evento, ovviamente non è possibile andare in edit di una riga.

Spero di esserti stato d'aiuto.
Ciao,
PV

skraus Profilo | Junior Member

Grazie mille per l'aiuto.
Sk
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