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!