43 messaggi dal 20 giugno 2005
Devo creare una pagina per effettuare delle ricerche sulle persone presenti nel DB. Devo creare qualcosa di dinamico (non conosco a priori i criteri che sono creati da un pkg oracle). Pensavo ad una serie di DropDownList che caricavano i criteri e i valori e una volta selezionata la condizione, volevo metterla in una GridView (passando per una Classe public Criteri ereditata da DataTable) in modo da permettere all'utente di eliminare i criteri non più desiderati prima di avviare la ricerca.
Il problema è che la classe Criteri che dovrebbe mantenermi la lista di condizioni selezionate.. e poi fare i DataBind della griglia.. ad ogni postback mi viene annullata. Cosa sbaglio?
Avevo provato impostando l'istanzaa nella pagina dei Criteri a static ma me la condivideva (chiaramente) con tutta l'applicazione.. :-) e ovviamente non lo voglio.
Avete suggerimenti? Capisco che mi manca qualche nozione... se proprio sono fuori.. ditemi dove posso studiare

Grazie mille...
Deneb wrote:
Cosa sbaglio?

per caso fai di nuovo il databinding al PostBack?
.

Daniele Bochicchio | ASPItalia.com | Libri
Chief Operating Officer@iCubed
Microsoft Regional Director & MVP
43 messaggi dal 20 giugno 2005
Si, ma lo faccio ogni volta che aggiorno la classe Criteri (quella ereditata dalla DataTable).

esempio:
_lista.AddItems(crit);
gvCriteri.DataSource = _lista.tabella;
gvCriteri.DataBind();

Questo ogni volta che aggiungo un criterio dalla selezione dei DDL. Il problema è che _lista.tabella (class Criteri : DataTable) al postback è vuota..

Non so se sono chiara...
Deneb wrote:
Non so se sono chiara...

chiarissima: non ho capito bene però gvCriteri da dove viene: è nel markup o lo generi da codice? in linea di massima non dovresti rifare il binding, perchè perdi lo stato degli item, ma dipende in realtà dal contesto. dovresti cercare di essere più specifica.
.

Daniele Bochicchio | ASPItalia.com | Libri
Chief Operating Officer@iCubed
Microsoft Regional Director & MVP
43 messaggi dal 20 giugno 2005
Daniele buongiorno... :-)
si.. hai ragione sono un po' generica. gvCriteri è una GridView vuota definita nel Markup, da codice aggiungo una riga per ogni condizione selezionata dalla DropDownList. Per facilitare il binding avevo creato una classe Criteri ereditata da DataTable con metodi pubblici che mi permettono di aggiungere item e rimuoverli. Una volta aggiornata la struttura facevo il binding della GridView gvCriteri. Il problema è che al PostBack della pagina l'istanza dell'oggetto Criteri che mi era servita per il primo binding la trovo vuota.
Se non faccessi il binding come aggiorno i dati della GridView quando cambia il numero degli Items nella classe Criteri? Esiste un metodo diverso di aggiornamento della GridView senza rifare il binding?
Spero di essere stata un pelino + chiara..
Scusa.. ma non sono così esperta..
Ciao..
Deneb wrote:
Il problema è che
al PostBack della pagina l'istanza dell'oggetto Criteri che mi era servita per il primo binding la trovo vuota.

e questo è normale. non devi ripopolarla e se non rifai il binding vedrai che mostrerà i vecchi dati.

Se non faccessi il binding come aggiorno i dati della GridView quando cambia il numero degli Items nella classe Criteri?

non devi farlo sull'elenco, non sulla griglia.
.

Daniele Bochicchio | ASPItalia.com | Libri
Chief Operating Officer@iCubed
Microsoft Regional Director & MVP
43 messaggi dal 20 giugno 2005
Daniele Bochicchio ha scritto:
Deneb wrote:
Il problema è che
al PostBack della pagina l'istanza dell'oggetto Criteri che mi era servita per il primo binding la trovo vuota.

e questo è normale. non devi ripopolarla e se non rifai il binding vedrai che mostrerà i vecchi dati.

Se non faccessi il binding come aggiorno i dati della GridView quando cambia il numero degli Items nella classe Criteri?

non devi farlo sull'elenco, non sulla griglia.
.


non sull'elenco, né sulla griglia
faccio qualche prova..
ma se volessi mantenere i valori dell'istanza di Criteri? come faccio?
43 messaggi dal 20 giugno 2005
mmmhhh..
non mi torna..
creo istanza Criteri, faccio il Bind con una lista vuota al primo caricamentto della pagina.. poi dopo la selezione dei criteri (postback) aggiungo un criteri nella lista (istanza classe Criteri).. e NON rifaccio il bind..
ma la gridview non l'aggiorna.
mi perdo.. per una cavolata..

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.