Usando SortableBindingList <T> - o DataGridView não classifica automaticamente as alterações

Estou criando um aplicativo Windows Forms que exibe uma classe personalizadaRecord objetos e os classifica por quanto tempo eles estão no meuSortableBindingList<Record> record_list. Quando inicio o programa, já tenho alguns registros "fictícios" carregados nesta lista para fins de teste.

oSortableBindingList<T> foi retirado deaqui.

public partial class Form1 : Form
{
    public SortableBindingList<Record> record_list = new SortableBindingList<Record> { };
    public static DataGridViewCellStyle style = new DataGridViewCellStyle();
    public Form1()
    {
        InitializeComponent();
        dataGridView.DataSource = record_list;
        FillData(); //Temporary function to insert dummy data for demo.
        dataGridView.CellFormatting += new System.Windows.Forms.DataGridViewCellFormattingEventHandler(this.cell_formatting);
        this.Controls.Add(dataGridView);
        this.dataGridView.RowHeadersVisible = false;
        this.dataGridView.Sort(this.dataGridView.Columns["UserName"], ListSortDirection.Ascending);

        start_timer();                 
    }

Resultado antes da adição de "novos" dados (nota: estes foram alfabetizados automaticamente, inseridos especificamente na lista por ordem alfabética):

Resultado após os dados serem adicionados:

Por fim, resultado depois de clicar no cabeçalho "UserName":

Portanto, devo forçar uma classificação sempre que meu DataSource for atualizado? Se for esse o caso, como chamo uma classificação dessa maneira?

Agradecemos desde já a sua ajuda!

questionAnswers(1)

yourAnswerToTheQuestion