181 messaggi dal 23 marzo 2006
Buongiorno a tutti...
io ho una pagina aspx con una gridview bindata ad un SqlDatasource attraverso il DataSourceID (visualmente).

A seconda di certi parametri della form, di volta in volta, viene eseguito un opportuno selectCommand dall'SqlDatasource, e tutto funge correttamente.

Ora, il mio problema è che, sotto certe condizioni (non rappresentabili all'interno della query SQL), io devo far "sparire" alcune righe dalla gridview.
Ho provato a mettermi all'evento "RowDataBound" e fare:

e..Visible = false

ma avendo la gridview paginata, potete immaginare cosa succede.


Tenendo conto che la mole di dati "restituita" dalla query è generalmente molto pesante, cosa posso fare per risolvere l'inconveniente?

Pensavo di agire sulla sorgente dati, lavorare sulla gridview è troppo tardi...
Solo che con l'SQLDatasource non riesco a trovare punti di "appiglio".

Grazie a tutti
liscio ha scritto:
Buongiorno a tutti...
io ho una pagina aspx con una gridview bindata ad un SqlDatasource attraverso il DataSourceID (visualmente).

A seconda di certi parametri della form, di volta in volta, viene eseguito un opportuno selectCommand dall'SqlDatasource, e tutto funge correttamente.

Ora, il mio problema è che, sotto certe condizioni (non rappresentabili all'interno della query SQL), io devo far "sparire" alcune righe dalla gridview.
Ho provato a mettermi all'evento "RowDataBound" e fare:

e..Visible = false

ma avendo la gridview paginata, potete immaginare cosa succede.


cosa succede di preciso? non ho mai avuto inconvenieti , anche se magari preferisco agire nel PreRender

Tenendo conto che la mole di dati "restituita" dalla query è generalmente molto pesante, cosa posso fare per risolvere l'inconveniente?

Pensavo di agire sulla sorgente dati, lavorare sulla gridview è troppo tardi...
Solo che con l'SQLDatasource non riesco a trovare punti di "appiglio".

Grazie a tutti


la prima cosa da fare è utilizzare una paginazione vera, e non "finta" come fa SqlDataSource.

dopodiche il problema lo risolvi non utilizzando SqlDataSource ma implemetando la tua logica di accesso dati in modo cha risponda pienamente ai requisiti che richiedi

Chi parla senza modestia troverà difficile rendere buone le proprie parole.
Confucio

http://nostromo.spaces.live.com/default.aspx
181 messaggi dal 23 marzo 2006
come sistema di paginazione, utilizzo quello della gridview.

Quello che succede, mettendo visible = false su una riga, all'evento RowDataBound, è che la griglia rimane "monca". Se ho definito la paginazione su 10 elementi, mi ritrovo che la pagina ha 9 elementi. Se di elementi da nascondere sono in numero elevato, mi ritrovo con intere pagine completamente vuote...

che intendi con "paginazione vera"?
Modificato da liscio il 11 maggio 2009 10.22 -
GridView o SqlDataSource sempre paginazione "finta" è.

comuque se nascondi le colonne e spariscono le righe ci deve essere qualcosa di non corretto nel codice.

postalo che gli diamo un occhiata

Chi parla senza modestia troverà difficile rendere buone le proprie parole.
Confucio

http://nostromo.spaces.live.com/default.aspx
181 messaggi dal 23 marzo 2006
no no, io non nascondo colonne... io nascondo RIGHE
è "ovvio" che poi non vengono rimpiazzate, a livello di GridView...

devo rivedere tutta la logica di accesso ai dati, e sostituire l'SQLds.

Come faccio poi a gestire rimozione di eventuali righe, paginazione, ordinamento... ?

che cosa mi conviene usare per quantità di dati consistenti?
meglio rinunciare fin da subito all'idea di nascondere le righe runtime nel GridView, ma questo vale per qualsiasi altro controllo.

agisci direttamente sul risultato delle tue query.

la cosa migliore da fare quando l'applicazione diventa più complessa della lista della spesa è creasi la propria logica di accesso dati personale.

quindi utilizzare a manina SqlConnection & co

Chi parla senza modestia troverà difficile rendere buone le proprie parole.
Confucio

http://nostromo.spaces.live.com/default.aspx
181 messaggi dal 23 marzo 2006
ok, quindi mi costruisco il mio bel dataset e lo do in pasto alla gridview... giusto?

a questo punto però, come la gestisco la paginazione?

ok, quindi mi costruisco il mio bel dataset e lo do in pasto alla gridview... giusto?


giusto


a questo punto però, come la gestisco la paginazione?


la gestisci creando una query ad hoc, trovi diversi esempi in rete, alcuni dei quali su aspitalia

Chi parla senza modestia troverà difficile rendere buone le proprie parole.
Confucio

http://nostromo.spaces.live.com/default.aspx

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.