Announcement

Collapse
No announcement yet.

ListViewItemSorter Zuweisung

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • ListViewItemSorter Zuweisung

    Ich habe folgendes Problem:
    In einer ListView (listViewArtikel) werden Einträge aus einer Datenbank aufgelistet.
    Über den ListViewItemSorter und der IComparer Schnittstelle können die Spalten sortiert werden. Der ListLiew weise ich dies entsprechend zu.
    Code:
    private: System::Void listViewArtikel_ColumnClick(System::Object^  sender, System::Windows::Forms::ColumnClickEventArgs^  e) 
    		 {
    			 //das Sortierkriterium umdrehen
    			 Sortierreihenfolge = !Sortierreihenfolge;
    			 //eine neue Instanz der Klasse für die Sortierung erstellen
    			 Sortieren ^spaltenSortieren = gcnew Sortieren(e->Column, Sortierreihenfolge);
    			 //die Sortierung zuweisen
    			 listViewArtikel->ListViewItemSorter = spaltenSortieren;
    			 //sortieren
    			 listViewArtikel->Sort();
    		 }
    Dies funktioniert so weit alles auch wunderbar.
    Wenn die ListView jetzt aber neu eingelesen werden soll, nachdem sie einmal sortiert wurde, dauert es extrem lange (Größe der ListView ca. 4000 Zeilen), da beim erneuten Einlesen jede Zeile erneut verglichen wird.

    Meine Frage ist, wie kann ich die Zuweisung
    Code:
    listViewArtikel->ListViewItemSorter = spaltenSortieren;
    wieder rückgängig machen, so dass beim erneuten Einlesen nicht gleich sortiert wird?

  • #2
    probier mal:

    listViewArtikel->ListViewItemSorter =NULL;
    Christian

    Comment


    • #3
      Danke,
      hat zwar nicht ganz funktioniert, aber der Denkanstoß war gut!
      Es funktioniert mit:

      listViewArtikel->ListViewItemSorter = nullptr;

      Comment

      Working...
      X