Listview sortiert Alphanumerisch ?!

  • VB.NET

Es gibt 5 Antworten in diesem Thema. Der letzte Beitrag () ist von runny.

    Listview sortiert Alphanumerisch ?!

    Hi, ich wollte mal fragen ob es eine wirklich simple Methode gibt ein Listview Numerisch zu sortieren und nicht Alphanumerisch?

    Eigentlich dachte ich, dass ich diese Funktion überhaupt nicht brauche. Da ich im Grunde eine SQL Tabelle in die Listview lade und diese schon "passend" sortiert ist, auf Grund der Reigenfolge der Einträge.

    Nun hab ich aber ab und zu, dass eine neuer Datensatz in der SQL Tabelle an einer x-beliebigeben Stelle auftaucht. Wieso? Kein Schimmer

    Erste Zeile ist ne Auto ID
    bei der Ausgabe steht grad folgendes

    1
    2
    3
    4
    5
    2250
    6
    7
    ...
    2248
    2249

    Ich versteh ned wieso. Der einzige Unterschied ist, dass der Eintrag 2250 der aktuelles ist und einzeln hinzugefügt wurde.
    Aber laut SQL Management Studio ist das genau an der Stelle in der DB vorhanden.
    Auch Excel gibt ihn an der Stelle aus, wenn ich nicht nach Datum oder ID sortiere...
    Gut, also dacht ich sortieren wir die Liste einfach.

    VB.NET-Quellcode

    1. ListView1.Sorting = SortOrder.Ascending

    Das ist aber Alphanumerisch und ich brauch numerisch?!
    Gibtz da ne Lösung ohne zusätzlich 50 Zeilen Code zu schreiben, ne neue Klasse zu nutzen oder sonstigen "Quatsch".
    Ich hab Möglichkeiten mit haarstreubenden Schleifen gesehen die jeweils 2 Items vergleichen. Aber ich glaub das sprengt mein Programm wenn er bis zu 6000 Zeilen vergleichen muss.

    Grüßle
    Du kannst natürlich dafür sorgen, dass die alphabetische und die numerische Reihenfolge gleich ist, indem Du führende Nullen einfügst, so dass alle Zeilen (Zahlen) die gleiche Anzahl von Stellen haben. Sieht zwar blöd aus, funktioniert aber.
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!
    So ich hab ne Lösung.

    Muss ehrlich sagen ich war einfach zu blöd gestern. :D
    Da es sich ja eh um SQL Daten handeld..kann ich die Abfrage ja einfach ändern und

    SQL-Abfrage

    1. order by Datum
    benutzen.
    Dann ist die Liste sortiert und baste.
    Die einfachste Lösung sieht man irgendwie nie auf Anhieb.

    Trotzdem danke für die Hilfe :thumbsup: .