..Ahh già immagino la vostra espressione disgustata
la listview si ordina da sola, a che ti serve stà cosa?
Allora ho questa listview piena di items.. vorrei tanto sviluppare una routine che una volta ordinata colorasse di rosso i i caratteri degli items uguali.. ovvero se ho due items della list view uguali, si devono colorare di rosso.
Voi come fareste??
Le mie listview le carico cosi (vedi codice), ma non ho nessuna idea su come rientrare nelle liste e confrontare gli elementi tra loro.. come in una nebbia fitta fitta.
Ringrazio tutti coloro che vorranno aiutarmi.
Ps: sto usando vb6 perchè mi serve in vba.. non so se può essere utile.
codice:
Private Sub UserForm_Activate()
Dim ftime As Excel.Worksheet
Dim fmark As Excel.Worksheet
Dim cel As String
Dim orario As ListItem, a As ListItem, b As ListItem, app As ListItem
Dim indi As Integer, g1 As Integer, g2 As Integer
Dim clonna As ColumnHeader
Dim screen As Byte
indi = 0
Set ftime = Excel.Worksheets.Item("FILMS TIME")
Set fmark = Excel.Worksheets.Item("Marketing")
Set slot = CreateObject("System.Collections.ArrayList")
If bool = False Then
Set colonna = ListView1.ColumnHeaders.Add(, , "ORARI")
Set colonna = ListView1.ColumnHeaders.Add(, , "SALA")
Set colonna = gate1.ColumnHeaders.Add(, , "ORARI")
Set colonna = gate1.ColumnHeaders.Add(, , "SALA")
Set colonna = gate2.ColumnHeaders.Add(, , "ORARI")
Set colonna = gate2.ColumnHeaders.Add(, , "SALA")
bool = True
End If
ListView1.ListItems.Clear
ListView1.Sorted = True
gate1.ListItems.Clear
gate1.Sorted = True
gate2.ListItems.Clear
gate2.Sorted = True
For l = 8 To 79
For d = 4 To 11
cel = fmark.Cells(l, d).Text
If cel <> "" Then
screen = (l \ 4) - 1
slot.Add cel
Set orario = ListView1.ListItems.Add(, , cel)
orario.SubItems(1) = screen
If screen < 10 Then
Set orario = gate1.ListItems.Add(, , cel)
orario.SubItems(1) = screen
Else
Set orario = gate2.ListItems.Add(, , cel)
orario.SubItems(1) = screen
End If
End If
Next d
Next l
End Sub