Sortieren ungebundener DataGridView-Spalten alphanumerisch in der Windows Forms-AppC#

Ein Treffpunkt für C#-Programmierer
Guest
 Sortieren ungebundener DataGridView-Spalten alphanumerisch in der Windows Forms-App

Post by Guest »

Ich kann anscheinend keine aktuell aktualisierte Antwort finden. Die Grundfunktionalität funktioniert bei mir, da eine Liste automatisch wie folgt sortiert wird:

Code: Select all

001.15
1
2
3
some
string
aber mein größtes Problem ist, wenn ich eine Zahl, sagen wir „100“, hinzufüge, sieht meine Liste jetzt wie folgt aus:

Code: Select all

001.15
1
100
2
3
some
string
Ich würde gerne 100 nach 3 sehen.
Die einzelne Spalte, nach der ich sortieren möchte, „Test-ID“, wird Zeichenfolgen, Ganzzahlen und Doppelzahlen enthalten.
Ich habe viele Dinge ausprobiert, einschließlich einer Methode, die jedes Mal aufgerufen wird, wenn eine Taste gedrückt wird:

Code: Select all

private void SortDVG(object sender, DataGridViewSortCompareEventArgs e)
{
if (e.Column.Index == 0)
{
e.SortResult = int.Parse(e.CellValue1.ToString()).CompareTo(int.Parse(e.CellValue2.ToString()));
e.Handled = true;
}
}
mit einer Referenz in einem Button klicken als

Code: Select all

SortDVG(dataGridView1, (DataGridViewSortCompareEventArgs)e);
aber dies löst einen Laufzeitfehler aus, da es als Mausereignis registriert wird, was für mich Sinn macht.

System .InvalidCastException: „Objekt vom Typ „System.Windows.Forms.MouseEventArgs“ kann nicht in den Typ „System.Windows.Forms.DataGridViewSortCompareEventArgs“ umgewandelt werden.“

und Ich habe sogar nur eine Zeile ausprobiert (diese war es, die mich überhaupt erst zur Bestellung veranlasste)

Code: Select all

dataGridView1.Sort(dataGridView1.Columns[0], ListSortDirection.Ascending);
Im Moment bin ich etwas ratlos und versuche, in die richtige Richtung zu weisen

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post