29 messaggi dal 12 aprile 2011
Salve a tutti, ho un problema poco rilevante... ma che vorrei risolvere! Ho creato una pagina Prodotti che visualizza nella GridView tutti i prodotti del database ed una casella di ricerca per "numero di modello".

Quando cerco un modello specifico, lo inserisco nella casella e clicco su "Trova"; così da codice ho inserito una SqlDataSource1.SelectCommand che va a modificare la Select originale e mi fa visualizzare nella GridView solo il prodotto richiesto.

Quindi fin qui è tutto ok.

Il problema nasce quando clicco su "Modifica" della GridView (in cui vedo al momento solo quel prodotto - ad esempio il n. 10), poiché la GridView si ripopola con tutti i prodotti (come all'inizio) e si evidenzia il prodotto n. 1, pronto per essere modificato!

Quindi per modificare il n. 10 (ad esempio) devo ricliccare su "Trova".

Come evitare il ripopolamento della GridView, modificando direttamente il prodotto trovato?
11.886 messaggi dal 09 febbraio 2002
Contributi
Ciao,

kalel80 ha scritto:

da codice ho inserito una SqlDataSource1.SelectCommand che va a modificare la Select originale e mi fa visualizzare nella GridView solo il prodotto richiesto.

Penso che quando vai a modificare la riga, il SelectCommand torni ad essere quello originale, perdendo la sua clausola WHERE. Per questo motivo, la tua GridView mostrerà tutti i prodotti.

Se modificare il SelectCommand in base al valore della casella ti sembra intricato, prova invece ad introdurre un ControlParameter ai SelectParameter del SqlDataSource, e fare tutto in maniera dichiarativa.

Leggi questo thread:
http://forum.aspitalia.com/forum/post/396039/Gridview-Aggiorna-Righe-Databind.aspx#396112
Risolverlo in quel modo non sarà il massimo dell'eleganza ma potrebbe evitarti dei grattacapi.

ciao,
Moreno

Enjoy learning and just keep making
29 messaggi dal 12 aprile 2011
grazie. provero' e ti faro' sapere. :-) Gentilissimo!

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.