Newsgroup: it.comp.lang.visual-basic
Titolo: ordinare elementi in listview

Ciao a tutti! Ho una listview con un po' di colonne, che riempio partendo da
un database di Access.
Vorrei che gli elementi in questa listview apparissero ordinati, secondo due
criteri (il contenuto una colonna, e se due record hanno questo uguale
dovrei guardare anche una seconda colonna).
C'č un modo di fare ciň in visual basic una volta che la listview č stata
riempita?
Non riesco a ordinare via SQL mentre faccio le query perchč il db č
strutturato in un modo che non me lo permette, quindi la mia unica spiaggia
č ordinare alla fine.
Con la proprietŕ sort della listview funziona l'ordinamento ma mi perde dei
dati! (alcune colonne restano vuote per certi record, e non capisco perchč).
Grazie mille a tutti!
--
Francesco Musicman
-----------------------------------------------------------------
Contacts:
msn: 
fra_mu...@hotmail.com
icq: 86016267
mail: 
fra...@libero.it
---------------------------------------------------------------
- I won't give up 'til I've no more to give -
DT

 perchè).
    E, secondo te, come facciamo a capirlo noi?!?! ;-)
    Ti prego, dimostra che la cosa ti interessa e aiutaci ad aiutarti.
    (Tipo dei campi interessati, magari qualche brandello di codice, ...)
--
Ciao.
Maurizio
--------
?SPQR(C)
 X
--------

non ho molto capito la cosa.....
il database DEVE essere strutturato per ordinare i dati, altrimenti non è un
buon database......
se la tabella non lo consente, preparati una query ordinata, usa campi
calcolati: il metodo più veloce per avere una listview ordinata è quello di
ordinarla prima, anche perchè Access e i vari database sono nati proprio per
questo (oltre che per un'altra serie di 10.000 motivi.....)
perciò, come ti ha detto Maurizio, dicci qualcosa di più, ma valuta davvero
tanto l'idea di ordinare i dati tramite SQL.....è impossibile che tu non
possa farlo!!!!!
--
Igor Damiani
igor.d...@light.it
http://www.igordamiani.it
ICQ : 11847262

chiedo scusa se nel post precedente mi sono espresso male::
ho un problema nell'ordinare una listview collegata a un db Access...
per riempire la listview uso due tabelle del db Access.
Dalla prima prendo alcuni id e poi, per ognuno di questi id, vado nella
seconda tabella e prendo tutti i record contrassegnati dall'id considerato.
es:
tabella 1: prendo gli id 12 67 e 321
vado nella tabella 2 prima con l'id 12
    e tutto dove c'è 12 nel campo id prende il record corrispondente e lo
mette nella listview
poi passa a 67 e poi a 321
ora, io vorrei che nella listview apparissero tutti i record ordinati
secondo due campi della tabella 2.
però se io dico alla seconda query di prendere i record ordinati secondo
questi due campi, ce li ho ordinati, ma solo per l'id corrispondente!
Mi spiego meglio: se all'id 12 corrispondono dei record che iniziano per S T
e Z, nella listview mi vengono messi ordinati questi primi 3, ma poi se per
il secondo id ho dei campi che iniziano per A B e Z, me li accoda alla
listview e anche se mi ordina questi tre, appariranno comunque dopo il
record z del primo id...
Quindi non c'è un modo di ordinare mentre faccio le query!!!
Per questo volevo trovare un modo di ordinare la listview in vb, una volta
che era riempita!!
Spero di essere riuscito a spiegarmi, è un po' un casino se non si conoscono
i dettagli...
Grazie a tutti!


> "Francesco Musicman" [...]:

    I casi sono due, credo: o la stiamo tutti vedendo piu' difficile di quel
che sia in realta' o io non ho capito/tu ancora non ti sei spiegato.
    Potresti caricare la listview (*listview*, esatto? non *treeview*) con
un campo aggiuntivo ad uso ordinamento.
    Per esempio, se vuoi ordinare per id e nome, in qualsiasi momento (nella
query o dopo il caricamento o quando vorrai) aggiungi alla lvw una colonna
(nascosta) e assegni al text degli elementi della colonna un valore tipo:
    Format$(id, "0000000") & nome
ed ordini secondo quella colonna.
