【发布时间】:2013-03-04 14:31:09
【问题描述】:
我的问题是: 当我将数据源绑定到 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的每一行创建并填充数据,并将列排序模式设置为自动,排序工作正常。
有什么区别?如何在第一种方法中启用排序?
【问题讨论】:
-
列是否设置为在网格中自动创建?这是我唯一能想到的..我相信它是 AuoGenerate Columns 属性..
-
将 AutoGenerateColumns 设置为 false 并手动添加列也无济于事。由于性能问题,我想避免在 DataGridView 中手动创建列和行。
-
如果您手动创建列,那么在我看来,您需要在代码中手动创建它们以及使用
new关键字来创建列(如果我正在关注您的话)在你原来的问题中说
标签: c# .net winforms datagridview