PDA

View Full Version : [VB] Controlli ListView: qualche info


davidino80
30-03-2005, 19:47
Ciao ragazzi.
Sono a chiedervi qualche info specifica sui un controllo ListView richiamato da MSCOMCTL.OCX.

Sto utilizzando questa tabella per la visualizzazione dei dati di un db.
Ecco alcune domande:

1) Abilitando AllowColumnReorder vorrei che facendo click su una colonna specifica venga riordinata la visualizzazione in modo alfabetico.
Io pensavo una cosa del genere:
Private Sub ListView1_ColumnClick(ByVal ColumnHeader As MSComctlLib.ColumnHeader)

sql = SELECT FROM xxx WHERE xxxx ORDER BY colonna

end sub

E' possibile? Come identifico la colonna? Tramite il campo "key" ?
Altrimenti che strade si possono usare?


2) C'è la possibilità di usare un BackColor su un singolo record?? (non su tutta la lista).
Ad esempio, sparo un codice:

item.listview1.backcolor: &H00

Perchè in base alla lettura di un record booleano sul db volevo identificare le righe con 2 colori diversi.


Intanto grazie delle possibili risposte! Ciao!

davidino80
30-03-2005, 21:41
ho risolto il primo punto.. in questo modo:
Private Sub ListView1_ColumnClick(ByVal ColumnHeader As MSComctlLib.ColumnHeader)

'setto la chiave di riordinamento
keyCol = ColumnHeader.Key

'richiamo la visualizzazione con i vari settaggi
Form1.AggiornaVisualizzazione
end sub

nel form1 ho l'sql così:
sSql = sSql & "ORDER BY " & keyCol & vbCrLf
nel listview ho tolto il "sorted" di default e ho messo come campo "key" il nome della colonna del db :D

cosa dite, soluzione ottimale? funziona :)

per la 2a domanda invece? Grazie ciao