Я создаю приложение Windows Forms, которое отображает объекты пользовательского класса Record
и сортирует их по тому, как долго они находились в моем SortableBindingList<Record>
record_list
. Когда я запускаю свою программу, у меня в этот список загружаются некоторые "фиктивные" записи уже ради тестирования.
SortableBindingList<T>
был взят из здесь.
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();
}
Результат перед добавлением «новых» данных (примечание: они были автоматически отсортированы по алфавиту, специально введены в список не в алфавитном порядке):
Результат после добавления данных:
Наконец, результат после того, как я нажму заголовок «UserName»:
Итак, должен ли я принудительно выполнять сортировку каждый раз, когда мой источник данных обновляется? Если это так, как мне вызвать сортировку таким образом?
Спасибо за вашу помощь заранее!
SortableBindingList<T>
не существует, о каком из них вы говорите? - person Ivan Stoev   schedule 16.09.2016