我的问题是:
当我将数据源绑定(bind)到DataGridView时

BindingList<Contract> contracts = new BindingList<Contract>(Contract.GetAll());
dgEndingContracts.DataSource = contracts.Where(c => c.ExpirationDate <= nextMonth && c.IsArchived == false).ToList();

并将每一列设置为SortMode = DataGridViewColumnSortMode.Automatic当我单击dataGridView标题行时不排序。

但是,当我手动创建每列时,在dataGridView的每一行中创建并填充数据,并将列排序模式设置为自动,则排序工作正常。

有什么区别,如何在第一种方法中启用排序?

最佳答案

我找到了解决方案。

看来DataGridView无法对List <T>BindingList<T>进行排序

所以我添加了基于code fromclass SortedBindingList<T>:
现在我的DataGridView可以对列进行排序。

感谢您的帮助。

07-28 01:37
查看更多