Ich habe ein Programm gebastelt, dass in einem ListView
Termine
anzeigt. dass das ganze nicht nach Datum sortiert ist (Sort
ist
auf True!), stört mich schon stark, aber wäre zu verschmerzen.
Wie jedoch kann ich nach Datum sortieren, Beispiel:
Datum$=Date
Wei schaffe ich es, das das Ding nach Datum entscheidet, und
nicht nach string? Muss ich etwas „zu Fuß“ das Datum zerlegen,
und nach Tag, Monat, Jahr schauen?
Servus Florian
Da die Einträge in einem ListView immer Strings sind (auch wenn man andere Typen hineinschreibt, werden diese automatisch umgewandelt), kann natürlich nur nach diesen Strings sortiert werden. VB bzw. das (die/der??) ListView wissen nicht, dass in diesen Strings Datumswerte enthalten sind.
Eine Möglich wäre, wie du schon selbst angedeutet hast, die Datumswerte „zu Fuss“ nach Jahr, Monat und Tag zu zerlegen. Wenn du sie z. B. in der Form JJJJMMTT in das ListView schreibst und ListView.sorted = true ist, dann sind die Werte automatisch aufsteigend sortiert, aber natürlich auch in dieser nicht sehr übersichtlichen Form dargestellt.
Eine andere Möglichkeit wäre, die Datumswerte zuerst in einem Array zu sortieren (Array als Datum definiert, dann brauchst du nichts zu zerlegen) und erst dann in das ListView zu schreiben. ListView.sorted muss dann false sein, weil sonst wieder nach den Stringwerten sortiert würde!
Alle Klarheiten beseitigt? 
Roland