我的问题是:
当我将数据源绑定(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 from的class SortedBindingList<T>
:
现在我的DataGridView
可以对列进行排序。
感谢您的帮助。