【发布时间】:2012-12-07 03:38:13
【问题描述】:
我想写的代码是这样的:
IEnumerable<SomeModel> items = GetTheItems();
dataGridView1.AutoGenerateColumns = true;
dataGridView1.DataSource = BuildTheDataSource(items);
数据网格会在标题上显示排序字形,并允许用户通过单击它们进行排序。
到目前为止,我得到的最有希望的线索是提出的 SortableBindingList by this answer,但该解决方案(和其他)似乎仅适用于手动创建的列。
更新
现在鸡蛋在我脸上了! SortableBindingList 确实有效,但我犯了一个典型的错误:
void Bind(List<Model> items)
{
this.items = new SortableBindingList<Model>(items);
// oops! "items" is a List<T>... what I really wanted was
// "this.items" which is a SortableBindingList<T>
dataGridView1.DataSource = items;
}
【问题讨论】:
标签: winforms datagridview