salve

ho un problema ad aggiungere delle rihe ad un gridview:
Ho un oggetto che mi restituisce una collezione di oggetti che aggancio direttamente ad una gridview tramite la proprietà datasource ed il metodo databind.
In seguito un utente deve poterne selezionare una riga e crearne una copia modificabile, che poi può o meno memorizzare nel db.
Per creare la copia della riga, recupero l'oggetto della collezione corrispondente alla riga , lo clono, imposto alcuni valori di default e lo aggiungo alla colezione, infine eseguo di nuovo il databind.
Ho altri bottoni associati a dei comandi, ad esempio un bottone modifica sulla nuova riga. Quando viene premuto permette l'editazione dei valori della riga. e un bottone salva, per inserire il nuovo record.
Il mio problema è che il metodo per recuperare la collezione da cui recupero i dati viene eseguito nell'init della pagina, quindi ogni volta che premo o cambio qualcosa mi viene reinizializzata.
C'è un modo per lavore sui dati come si fa per le applicazioni tradizionali: caricarsi un dataset in memoria, lavorarci sopra e poi fare l'update dei dati?
grazie in anticipo
s