Как использовать SortMode в DataGridView
Я пытаюсь заставить сортировку работать для DataGridView. Сортировка должна быть автоматической, когда я нажимаю на заголовки столбцов, но она не работает. Что я делаю не так?
private void LoadDummyData()
{
List<AddressBookDummy> list = new List<AddressBookDummy>();
list.Add(new AddressBookDummy { Name = "Newman, Alfred", Type = "CAR" });
list.Add(new AddressBookDummy { Name = "Skywalker, Luke", Type = "SUP" });
list.Add(new AddressBookDummy { Name = "Skywalker, Leia", Type = "BEN" });
addressBookGrid.DataSource = list;
}
private void InitializeGrid()
{
addressBookGrid.RowHeadersVisible = false;
addressBookGrid.ScrollBars = ScrollBars.Vertical;
addressBookGrid.SelectionMode = DataGridViewSelectionMode.FullRowSelect;
addressBookGrid.Columns[0].SortMode = DataGridViewColumnSortMode.Automatic;
addressBookGrid.Columns[1].SortMode = DataGridViewColumnSortMode.Automatic;
}
1 ответов
вы должны привязаться к списку, который реализует сортировку,вот пример
резюме :
public Form1()
{
InitializeComponent();
SortableBindingList<person> persons = new SortableBindingList<person>();
persons.Add(new Person(1, "timvw", new DateTime(1980, 04, 30)));
persons.Add(new Person(2, "John Doe", DateTime.Now));
this.dataGridView1.AutoGenerateColumns = false;
this.ColumnId.DataPropertyName = "Id";
this.ColumnName.DataPropertyName = "Name";
this.ColumnBirthday.DataPropertyName = "Birthday";
this.dataGridView1.DataSource = persons;
}