Newsgroup: it.comp.lang.delphi
Titolo: ordinare i record di una dbgrid

ciao a tutti,
dovrei ordinare i record di una dbgrid per il campo data in ordine
decrescente
come posso fare

dicci un po' che database usi....

 come posso fare
Se usi una TDBGrid standard collegata a file Paradox, devi ordinare la
tabella.
Ci sono alcuni componenti Grid, però, che caricano in memoria tutta la
tabella, così puoi ordinare la visualizzazione dierttamente attraverso le
colonne della DBGrid.
Henry Baggins [trad.=Arrigo Sacchi]

I record non sono della dbgrid, ma del dataset ad essa associato.
La dbgrid ha solo il compito di mostrarli.
L'ordinamento spetta al dataset.
Bye
A.

ciao albe,
quello che dici è vero, ma alcuni componenti per la visualizzazione dei dati
contenuti in dataset (non la dbgrid) , fanno qs lavoro di sorting al volo,
vedi express quantum dxdbtreelist (della dev express se non sbaglio).
Forse il ns amico sperava che la nostra "gaia" dbgrid facesse altrettanto.
Ciaoux

Conosco la developer express.
La quantum grid è una vera libidine: ti risparmia un mare di lavoro se ti
serve una dbgrid con una interfaccia comoda per l'utente.
Solo che, visto che nel titolo del posto specifica "dbgrid", si sa che
l'unico modo per ordinare i record deriva dal dataset.
baiBai
A.

 baiBai
ciaoux, David

 l'unico modo per ordinare i record deriva dal dataset.
Precisiamo: ordinare i record e' una cosa, ordinare la loro visualizzazione
e' un'altra cosa.
Una dbgrid potrebbe prescindere dall'ordine reale dei record in tabella e
mostrarli come piace all'utente. Il problema e' che per farlo, i record
dovrebbe leggerli tutti e questo riduce le performance.
--------------------------------
Inviato via 
http://usenet.libero.it

Io uso le griglie della DevExpress, soprattutto la TdxTreeList che è
velocissima nell'aggiornarsi oltre alla funzione mista griglia-albero, ma
sono per principio contro chiunque metta a video più di 100 righe per volta,
per me è un'errata programmazione, non serve a nessuno mettere infinite
righe a video, semplicemente è un metodo sbagliato.
Cmq acquistare la griglia della Dev.Express conviene, si fanno i caricamenti
a mano ottimizzando le query di selezione, si formattano i campi a video a
proprio modo e si evitano i soliti impicci che dà una griglia diretta su DB
che non è mai buona per come è!
Ciao,
  Fabio

Non credo sia vero : potrebbe benissimo utilizzare gli indici.

uso database in access collegato  con ADO
"Alberto Salvati" <x@x.x from office> ha scritto nel messaggio
news:alko96$1qeh$1...@newsreader1.mclink.it...


 >Non credo sia vero : potrebbe benissimo utilizzare gli indici.
Potrebbe, ma nei fatti non conviene e non e' sempre possibile.
Dovresti, infatti, creare *due* indici secondari (ascendente/discendente)
per *ogni* campo ?
No grazie.
L'uso dell'ordinamento all'interno di una griglia, prescinderebbe proprio
dalla necessita' di avere delle strutture di controllo in piu'.


Comunque gli alberini e le griglie della DevExpress fanno tutto questo, e lo
fanno molto velocemente.
Non so in effetti come facciano.. non ho guardato i sorgenti.
L'unico rallentamento che ho notato č nell'alberino quando metto in piedi
una struttura su molti livelli e con migliaia di record... ma non č un
evento poi cosě frequente....
Forse costruiscono degli indici al volo?

 Forse costruiscono degli indici al volo?
Forse usano lo stesso principio alla base dei ClientDataSet, in cui e'
possibile ordinare "creando" degli indici al volo.


hai ragione, in effetti lo ho fatto di recente, proprio utilizzando gli
alberini della devexpress.
L'albero era lento perchč era mappato su di un MWDataSet (i dataset
dell'Internet Component Suite di Piette) e questi ultimi non hanno indici.
Cosě ho attaccato un tDataSetProvider alla MWTable e Il clientDataSet al
DataSetProvider, ho aggiunto due indicini al volo e vaiiii!!!!