DataGridView - Wie die Sortierung durch Klick auf den Spaltennamen verbieten?



  • Hallo!

    Ich habe ein DataGridView, das einen zu einem DataSet gehörenden DataTable anzeigt.
    Gefüttert wird der DataTable durch zeilenweises Hinzufügen von aus einem MySQL-Query stammenden Daten.

    Wenn ich auf eine Spaltenbezeichnung innerhalb des DataGridViews klicke, wird die entsprechende Spalte sortiert.

    Vor dem nächsten Einfügen von Daten eines anderen Querys leere ich den DataTable und lösche die Spalten, lege die neuen Spalten wieder dynamisch an.
    Dann füge ich wieder mehrere Zeilen zu dem DataTable hinzu.

    Beim Hinzufügen der zweiten Zeile kommt zu diesem Fehler:

    System.NullReferenceException in System.Data.dll (Objektverweis nicht auf eine Objektinstanz festgelegt).
    
    DataRow^ row=dataTable->NewRow();
    dataTable->Rows->Add(row);
    

    Dies passiert nur, wenn vorher das DataGridView sortiert wurde...

    Wie kann ich also dem DataGridView die Funktion des Sortierens beim Klick auf die Spaltenbezeichnung abgewöhnen?

    Gruß



  • DataGridView.SortOrder bei änderung zurücksetzen
    Header ausblenden

    besser:

    MSDN schrieb:

    DataGridViewColumn..::.SortMode-Eigenschaft

    [...]
    Ein SortMode-Eigenschaftenwert von NotSortable verhindert nicht das Auftreten des DataGridView..::.ColumnHeaderMouseClick-Ereignisses. Es verhindert jedoch, dass die Darstellung des Headers geändert wird, wenn darauf geklickt wird.



  • Danke! 🙂


Log in to reply