02. juli 2003 - 12:11Der er
1 kommentar og 1 løsning
Sorterer stigende/faldende
Hej
Jeg ønsker mig en funktioner, alá stifinderen:
Når man klikker på en label så sorteres kolonnen stigende, klikker man igen sorteres den faldende...
Selve sorteringen i min listbox har jeg styr på, men vil høre hvordan I ville håndtere det huske om der har været klikket en gang på en label osv.
Min egen løsning, umiddelbart, er at lave et skjult felt hvor der indsættes et 1 tal første gange der klikkes på en label, klikkes der så igen et 2 tal og igen så et 1 tal... Hvis der så klikkes på en anden label så nulstilles feltet og der indsættes 1....
Okay jeg kom selv frem til følgende, som slå to fluer med et smæk, da jeg samtidigt med sorteringen får farvet den label som der er sorteret efter.
Jeg har en event når der klikkes på en label:
Private Sub lblKundeNavn_Click() Call labels("lblKundeNavn", 4) End Sub
Labels kaldes med labellens navn samt kolonnenumret i listboxen
Private Function labels(Caller, Col As Long) Dim c For Each c In ufOrdre.Controls '---først gøres alle andre labels end den der kalder, grå If UCase(TypeName(c)) = UCase("Label") And _ c.Name <> Caller Then c.BackColor = RGB(162, 162, 162) End If Next c For Each c In ufOrdre.Controls '--- Så findes den label som har kaldt funktionen If c.Name = Caller Then '--- og udfra labellens baggrundsfarve bestemmes så om der skal sorteres stigende eller faldende... With c If .BackColor = RGB(162, 162, 162) Then .BackColor = RGB(0, 200, 0) Call liste(Col, "A") ElseIf .BackColor = RGB(0, 200, 0) Then .BackColor = RGB(0, 0, 255) Call liste(Col, "D") ElseIf .BackColor = RGB(0, 0, 255) Then .BackColor = RGB(0, 200, 0) Call liste(Col, "A") End If End With Exit Function End If Next c End Function
Tips, tricks, hints eller andre kommentar er meget velkomne....
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.