Wie implementiere ich das automatische Sortieren von DataGridView?

Ich füge einer DataGridView programmgesteuert Spalten hinzu und binde sie dann an eine Liste. Standardmäßig ist der SortMode der Spalten Automatisch. Aber wenn ich meine App starte, hat das Klicken auf die Überschriften keine Wirkung. Die Pfeile nach oben / unten werden nicht angezeigt. Vom Lesen von MSDN wird nicht viel über das automatische Sortieren gesagt. Sie gehen detaillierter auf das programmatische Sortieren ein. Ich gehe davon aus, dass der automatische Weg einfach sein sollte. MSDN fährt fort zu sagen "Bei der Auswahl werden nicht alle Spaltenüberschriften verwendet Wenn Sie auf die Spaltenüberschrift klicken, wird die DataGridView automatisch nach dieser Spalte sortiert und ein Symbol mit der Sortierreihenfolge angezeigt. "Was bedeutet das genau? Kann ich eine Rastereigenschaft festlegen, die mit der Sortierung in Konflikt steht? Was fehlt?

AutoGenerateColumns = false;
AllowUserToAddRows = false;
AllowUserToDeleteRows = false;
AllowUserToResizeRows = false;
AllowUserToResizeColumns = false;
ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.DisableResizing;
ReadOnly = true;
MultiSelect = false;
RowHeadersVisible = false;
SelectionMode = DataGridViewSelectionMode.FullRowSelect;
CellBorderStyle = DataGridViewCellBorderStyle.None;


    DataGridViewTextBoxColumn idColumn = new DataGridViewTextBoxColumn();
    idColumn.HeaderText = "ID";
    idColumn.DataPropertyName = "IDNumber";

    DataGridViewTextBoxColumn nameColumn = new DataGridViewTextBoxColumn();
    nameColumn.HeaderText = "Name";
    nameColumn.DataPropertyName = "Description";

    DataGridViewTextBoxColumn lastModifiedColumn = new DataGridViewTextBoxColumn();
    lastModifiedColumn.HeaderText = "Last Modified";
    lastModifiedColumn.DataPropertyName = "Date";

    Columns.Add(idColumn);
    Columns.Add(nameColumn);
    Columns.Add(lastModifiedColumn);

    List<IMyObject> bindingList = GetMyList();
    DataSource = bindingList;

Antworten auf die Frage(6)

Ihre Antwort auf die Frage