35 messaggi dal 27 maggio 2008
Salve ragazzi...

Volevo chiedervi secondo voi qualè la soluzione migliore per gestire il salvataggio e il caricamento dei dati di una gridview con Template Field come Textbox e Dropdownlist.

Premetto che gestisco il tutto tramite una classe esterna, perchè tale classe mi può servire in futuro per fare la stessa applicazione sotto windows e i dati sono salvati in SQL Server.

Per il caricamento ho pensato di caricare un DataTable nella mia classe esterna e passarlo alla gridview sfruttando il Databind, cosi posso sfruttare lo stesso sistema su applicazione windows e risulta un caricamento immediato e con poche righe di codice.

Il dubbio è come salvare modifiche, inserimenti e cancellazioni che l'utente va ad effetuare nella gridview dove ci sono anche i Template Field.

Premetto che le modifiche alla gridview vengono salvate alla fine tramite un Button "SALVA"

Cosa mi suggerite ?

grazie in anticipo!
Alex84bb wrote:
Per il caricamento ho pensato di caricare un DataTable nella mia classe esterna e passarlo alla gridview sfruttando il Databind, cosi posso sfruttare lo stesso sistema su applicazione windows e risulta un caricamento immediato e con poche righe di codice.

ti consiglieri, visto che ci sei, un modello tipizzato. in questo modo eviti i problemi legati all'uso di DataTable.

Premetto che le modifiche alla gridview vengono salvate alla fine tramite un Button "SALVA"

non puoi salvare i dati nel ViewState? generalmente si fa così per poterli memorizzare e tenere per un po'.
.

Daniele Bochicchio | ASPItalia.com | Libri
Chief Operating Officer@iCubed
Microsoft Regional Director & MVP
35 messaggi dal 27 maggio 2008
Scusa la mia ignoranza ma non sono un super esperto del .net, per modello tipizzato cosa intendi ?

Mi suggerisci di salvarli nel viewstate... mi sfugge qualcosa, il progetto che sto facendo gestisce dei nominativi per un'agenzia assicurativa, ogni nominativo ha la sua scheda con una miriade di informazione.

Prendiamo ad esempio la tabella dove devono inserire le attivita che svolgono per ogni cliente come, chiamate, incontri... ho creato una gridview che carico tramite un datatable, questo datatable lo carico tramite la classe esterna C_Nominativi.

Per salvare tutte le modifiche fatte sulla scheda del nominativo ho previsto un bottone "SALVA" che salva il tutto in un colpo solo.

Con il ViewState come dovrei agire ?

Riesco a passare il viewstate alla classe esterna ?
Modificato da Alex84bb il 18 ottobre 2011 18.10 -
Alex84bb wrote:
Scusa la mia ignoranza ma non sono un super esperto del .net, per modello tipizzato cosa intendi ?

http://www.aspitalia.com/ricerca/super.aspx?key=architettura+applicazioni+web
in particolare, il terzo link spiega un po' di cose.

Per salvare tutte le modifiche fatte sulla scheda del nominativo ho previsto un bottone "SALVA" che salva il tutto in un colpo solo.

nel tuo caso non serve il ViewState. pensavo avessi un percorso a step, invece tu salvi ad ogni modifica in pagina, quindi nei link che ti ho postato troverai diversi spunti ad hoc da cui partire
.

Daniele Bochicchio | ASPItalia.com | Libri
Chief Operating Officer@iCubed
Microsoft Regional Director & MVP
35 messaggi dal 27 maggio 2008
Grazie Daniele, sei stato gentilissimo!

Un'ultima domanda, per non perdere lo stato di una istanza di una classe ad ogni PostBack, devo utilizzare la SESSION o ci sono altri sistemi più corretti ?
Alex84bb wrote:
Grazie Daniele, sei stato gentilissimo!

prego

Un'ultima domanda, per non perdere lo stato di una istanza di una classe ad ogni PostBack, devo utilizzare la SESSION o ci sono altri sistemi più corretti ?

in teoria è la Session. all'atto pratico occhio a non abusarne, perché consuma molta RAM. è per questo che spesso si usano altre tecniche: http://www.aspitalia.com/articoli/asp.net3.5/session-state.aspx .

Daniele Bochicchio | ASPItalia.com | Libri
Chief Operating Officer@iCubed
Microsoft Regional Director & MVP
35 messaggi dal 27 maggio 2008
Mi sono letto l'articolo che mi hai postato riguardo i modelli Tipizzati, mi pare di aver capito che ti riferivi a LINQ o ad Entity Framework, purtroppo però il mio progetto è in asp.net 2.0 e non posso utilizzare tali modelli.

A questo punto cosa mi consiglieresti per salvare, attraverso l'uso della classe esterna, il contenuto che si trova all'interno delle GridView, che tra l'altro sono composte da Template Field contenenti TextBox e DropDownList.

Per il caricamento penso vada bene il passaggio di un DataTable caricato in questa classe esterna, ma per il salvataggio posso ripassargli il datatable con cui l'ho precedentemente caricato ?

Questo Datatable in qualche modo può tenere traccia delle modifiche che l'utente ha effetuato nella GridView ?
Alex84bb wrote:
Mi sono letto l'articolo che mi hai postato riguardo i modelli Tipizzati, mi pare di aver capito che ti riferivi a LINQ o ad Entity Framework, purtroppo però il mio progetto è in asp.net 2.0 e non posso utilizzare tali modelli.

no, viene spiegato perfettamente anche come sfruttuarlo in un'applicazione pre-LINQ.

Per il caricamento penso vada bene il passaggio di un DataTable caricato in questa classe esterna, ma per il salvataggio posso ripassargli il datatable con cui l'ho precedentemente caricato ?
Questo Datatable in qualche modo può tenere traccia delle modifiche che l'utente ha effetuato nella GridView ?

no, nelle app web devi ricostruire tu a mano, perché non esiste il contesto. cioè, prendi i dati dalla griglia e li risalvi da qualche parte. in questo senso DataTable o no cambia poco, ti tocca comunque farlo a mano. .

Daniele Bochicchio | ASPItalia.com | Libri
Chief Operating Officer@iCubed
Microsoft Regional Director & MVP

Torna al forum | Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.