Como implementar a classificação automática do DataGridView?

Estou programaticamente adicionando colunas a um DataGridView e vinculando a uma lista. Por padrão, o SortMode das colunas é Automático. Mas quando executo meu aplicativo, clicar nos cabeçalhos não faz nada. As setas para cima / para baixo não estão aparecendo. Ao ler o MSDN, pouco se fala sobre a classificação automática. Eles entram em mais detalhes sobre a classificação programática. Então, estou assumindo que a maneira automática deve ser fácil. O MSDN continua dizendo "A menos que os cabeçalhos das colunas sejam usados para seleção, clicar no cabeçalho da coluna classifica automaticamente o DataGridView por esta coluna e exibe um glifo indicando a ordem de classificação. "O que exatamente isso significa? Posso estar definindo uma propriedade de grade que entre em conflito com a classificação? O que estou perdendo?

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;

questionAnswers(3)

yourAnswerToTheQuestion