37 messaggi dal 25 gennaio 2007
Salve a tutti, ho una gridview agganciata ad un SqlDataSource e una Detailsview ad un altro SqlDataSource. Quasi tutto funziona, ma..
Se seleziono una riga della gridview, si apre la detailsview e vengono mostrati i dettagli di quel record. Se dopo premo il comando edit su un'altra riga della gridview, la detailsview rimane con i dati della riga precedente. Come posso ovviare? Inoltre, come faccio ad aggiornare la DetailsView dopo aver cliccato sul comando Update senza cliccare di nuovo su Select?
La gridView ha due CommandField, uno per il Select e l'altro per Edit,Cancel,Update.
Grazie in anticipo
93 messaggi dal 25 maggio 2005
sposta tutti i comandi tranne il select, sulla detailview.

In questo modo clicchi select sulla griglia per visualizzare il dato nella detail, dalla detail fai edit, update, delete.

ciao
37 messaggi dal 25 gennaio 2007
Grazie, stavo cercando di non utilizzare questa soluzione, perché non volevo ripetere i campi della GV nella DV.
Se non trovo altre soluzioni adotterò questa strategia.
93 messaggi dal 25 maggio 2005
questo non lo sapevo.....

ma pensandoci bene non lo capisco nemmeno.
Come fai ad avere campi nella gridview che non sono nella detailView?
Concettualmente non credo nemmeno sia corretto.
Spiegami per favore
37 messaggi dal 25 gennaio 2007
Lo scenario è il seguente. una gestione eventi dove c'è una tabella che contiene i campi relativi all'elenco degli eventi come il nome, la location, la data di inizio, la data di fine, l'indirizzo, la tipologia di evento (meeting, congresso, ecc.),ecc.
Utilizzando solo una gridview, avrei il problema della eccessiva larghezza del controllo, allora ho deciso di dividere le informazioni. Sulla gridview, compare solo il nome dell'evento, la location e la data di inizio. Poi se l'utente decide di avere maggiori dettagli per un determinato evento, clicca su dettagli e si apre la detailsview che contiene tutti i campi suddetti. Non ci trovo nulla di strano. anzi, secondo me, ripetere i campi della gridview nella detilsview è un inutile spreco di spazio sulla pagina.
37 messaggi dal 25 gennaio 2007
Comunque, alla fine, ho risolto. Molto banalmente. Nell'evento rowCommand.
Dim index As Integer = Convert.ToInt32(e.CommandArgument)
If e.CommandName = "Edit" then
GridView1.SelectedIndex = index
End If
Se avete altre soluzioni, sono ben accette.
93 messaggi dal 25 maggio 2005
La soluzione potrebbe andare bene (dico potrebbe perché non conosco il resto del codice)

per quanto riguarda lo scenario, è brutto avere i dati di un evento separati. Un po' sulla griglia, un po' nel detailview.
In più se è possibile modificarli: ne modifico alcuni sulla griglia ed altri sul dettaglio?

È anche vero che lo spazio a volte ci influenza ma, a parer mio, meglio tenere tutto coeso, specie se c'è anche la modifica.

ciao
37 messaggi dal 25 gennaio 2007
Beh, l'applicazione riguarda la gestione di una onlus. Bisogna tener conto di tutti i donatori, del personale operativo, delle comunicazioni e degli eventi per la raccolta fondi, della contabilità, ecc.
Naturalmente la raccolta fondi avviene in massima parte attraverso la realizzazione di eventi (cene,concerti,ecc.) percui l'elenco degli eventi è nutrito. Perciò ho pensato di separare i dettagli dall'elenco "stringato" degli eventi. In più dalla gridview è possibile, non solo modificare i dettagli principali dell'evento, ma accedere anche ad altre funzioni, come la lista degli invitati, dei partecipanti effettivi e del denaro raccolto. La detailsview contiene solo informazioni secondarie, come detto nei post precedenti (indirizzo, date inizio e fine, una breve descrizione, ecc).
Boh, non sò, a me pare che concettualmente vada bene. Per quanto riguarda il codice, non c'è un granché. Quasi tutto è realizzato in page code.

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.