Usando SortableBindingList <T> - DataGridView no ordena automáticamente los cambios

Estoy creando una aplicación de formularios Windows Forms que muestra una clase personalizadaRecord objetos y los ordena por cuánto tiempo han estado en miSortableBindingList<Record> record_list. Cuando comienzo mi programa, ya tengo algunos registros "ficticios" cargados en esta lista para probar.

losSortableBindingList<T> ha sido tomado deaquí.

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 de agregar datos "nuevos" (nota: se ordenó alfabéticamente automáticamente, se ingresó específicamente en la lista por orden alfabético):

Resultado después de agregar datos:

Finalmente, resultado después de hacer clic en el encabezado "Nombre de usuario":

Entonces, ¿debo forzar una clasificación cada vez que se actualiza mi DataSource? Si ese es el caso, ¿cómo llamo a una especie de esa manera?

Gracias de antemano por su ayuda!

Respuestas a la pregunta(1)

Su respuesta a la pregunta