我有一个WinForms .NET数据网格,其数据源是一个名为List<cLineItem>
的行。 cLineItem是一个非常简单的类,具有单位(int),描述(字符串)和单位数量(浮点)等属性。
在代码中,我填充行列表,然后设置数据源:
dataGridView1.DataSource = lines;
这正确地填充了网格,但是,即使网格中的每个列都设置为可排序,当您单击列标题时,它也不会对行进行排序。
答案 0 :(得分:6)
在DataGridView doesn't work by default中进行排序,除非您的源明确支持排序。您需要将数据源包装在SortableBindingList中。您可以使用此zip file中的PropertyComparer.cs和SortableBindingList.cs文件,并像这样使用它:
dataGridView1.DataSource = new SortableBindingList<cLineItem>(lines);