none
Problem beim Sortieren von ListViews RRS feed

  • Frage

  • Hallo allerseits,

     

    ich benutze zum Sortieren verschiedener Spalten meiner ListViews eine Klasse die IComparer implementiert, wie z.B. hier beschrieben:

    http://support.microsoft.com/kb/319399/en-us

    Und egal welche konkrete Umsetzung ich ausprobiert habe (man findet viele verschiedene "Comparer" im Netz) stoße ich immer auf folgendes Problem:

    Befindet sich meine ListView in einem nach Spaltenindex größer als 0 sortierten Zustand und ich möchte die ListView um weitere Einträge ergänzen, dann gibt das Datensalat. Ich muss also bei jeder "Einfüge-Operation" erst darauf achten, die aktuelle Sortierung zu merken, die Sortierung aufzuheben, dann Daten einzufügen und erst anschließend wieder zu sortieren.

    Ist das so richtig und vorgesehen oder mache ich bei der Implementierung des ListViewColumnSorter etwas falsch?

     

    Montag, 16. August 2010 15:58

Antworten

  • Hm, nachdem ich da gestern nen halben Tag lang erfolglos drüber nachgegrübelt habe bin ich jetzt doch recht flott selbst auf des Rätsels Lösung gekommen:

     

    Ich hatte meiner ListView neue Items immer auf folgende Weise hinzugefügt:

    lv.items.add(String)

    lv.items.subitems.add(String2)

    lv.items.subitems.add(String3)

    usw.

     

    Da so zur Laufzeit noch nicht alle SubItems (und damit auch nicht die SubItems nach denen ich sortieren möchte) existieren, kann das natürlich nicht funktionieren...

     

    Also:

    lvItem = new ListViewItem(String1)

    lvItem.SubItems.add(String2)

    lvItem.SubItems.add(String3)

    usw.

    lv.items.add(lvItem)

     

    Damit habe ich mir auch gleich meine Frage beantwortet: Nein es war so nicht vorgesehen. xD

     

    Ich entschuldige mich für eventuelle vergebliche Mühen.

    Montag, 16. August 2010 17:08