vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
Brandneu! sevEingabe v3.0 - Das Eingabecontrol der Superlative!  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   RSS-Feeds  | Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2021
 
zurück

 Sie sind aktuell nicht angemeldet.Funktionen: Einloggen  |  Neu registrieren  |  Suchen

Fortgeschrittene Programmierung
FlexGrid sortiern nach Spaltenbezeichner mit Datum 
Autor: Virtex
Datum: 03.09.21 09:45

Hallo zusammen,

Ich habe mir hier den Tipp angeschaut "FlexGrid beim Klick auf den Spaltenbezeichner sortieren"

Das funktioniert super und ich bin froh das es diese Funktion gibt. Für einige Spalten musste ich die Sortierfunktion anpassen damit da korrekt sortiert wird. Nur bei einer Spalte in der ein Datum steht, komm ich irgendwie nicht weiter.

Weder .Sort = flexSortStringDescending noch .Sort = flexSortGenericDescending (beide auch mit Ascending) bringen den gewünschten Erfolg.

Nun hab ich gesehen, das man ein Compare Funktion nutzen soll. Leider ist der Aufbau da ein ganz anderer, so dass ich da irgendwie auf dem Schlauch stehe.

Die Spalte die ich nach Datum sortieren möchte ist Spalte 19.
Ich hab beim füllen des FlexGrid ebenfall schon versucht den String direkt in ein Datum zu parsen und war in der Hoffnung das es dann klappt, aber leider auch Fehlanzeige.

Der bisherige Quelltext dazu:

Private Sub MSFlexGrid1_Click()
With MSFlexGrid1
 
    If .MouseRow = 0 And .MouseCol > 0 Then
 
      ' Gridinhalt sortieren
      If nLastSortCol = .MouseCol Then
        ' Sortierung umkehren
        '1 und 21 nach String sortieren lassen
        If .MouseCol = 1 Or .MouseCol = 21 Then
 
            If nLastSortDesc = flexSortGenericAscending Then
                .Sort = flexSortStringDescending
                nLastSortDesc = flexSortGenericDescending
            Else
                .Sort = flexSortStringAscending
                nLastSortDesc = flexSortGenericAscending
            End If
 
        Else
            If nLastSortDesc = flexSortGenericAscending Then
                .Sort = flexSortGenericDescending
                nLastSortDesc = flexSortGenericDescending
            Else
                .Sort = flexSortGenericAscending
                nLastSortDesc = flexSortGenericAscending
            End If
        End If
 
 
      Else
 
        ' aufsteigende Sortierung
        '1 und 21 nach String sortieren lassen
        If .MouseCol = 1 Or .MouseCol = 21 Then
            .Sort = flexSortStringAscending
            nLastSortCol = .MouseCol
            nLastSortDesc = flexSortGenericAscending
 
        Else
 
            .Sort = flexSortGenericAscending
            nLastSortCol = .MouseCol
            nLastSortDesc = flexSortGenericAscending
        End If
 
      End If
Würde gerne vermeiden noch weitere Colums anzulegen als Hilfsspalten. Ist das ohne überhaupt möglich? Und wenn ich welche anlegen muss, klappt das dann überhaupt mit Klick auf den Spaltenbezeichner?

Gruß

Virtex
alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
FlexGrid sortiern nach Spaltenbezeichner mit Datum60Virtex03.09.21 09:45
Re: FlexGrid sortiern nach Spaltenbezeichner mit Datum27Virtex03.09.21 12:11

Sie sind nicht angemeldet!
Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.

Einloggen  |  Neu registrieren

Funktionen:  Zum Thema  |  GesamtübersichtSuchen 

nach obenzurück
 
   

Copyright ©2000-2021 vb@rchiv Dieter Otter
Alle Rechte vorbehalten.
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.

Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel