..Ahh già immagino la vostra espressione disgustatala 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

la listview si ordina da sola, a che ti serve stà cosa?
Rispondi quotando