Jim*_*mbo 4 sorting datagrid list columnheader winforms
我有一个WinForms .NET数据网格,其数据源是一个List<cLineItem>被调用的行.cLineItem是一个非常简单的类,具有单位(int),描述(字符串)和单位数量(浮点)等属性.
在代码中,我填充行列表,然后设置数据源:
dataGridView1.DataSource = lines;
Run Code Online (Sandbox Code Playgroud)
这正确地填充了网格,但是,即使网格中的每个列都设置为可排序,当您单击列标题时,它也不会对行进行排序.
默认情况下,DataGridView 中的排序不起作用,除非您的源明确支持排序.您需要将数据源包装在SortableBindingList中.您可以使用此zip文件中的PropertyComparer.cs和SortableBindingList.cs 文件,并像这样使用它:
dataGridView1.DataSource = new SortableBindingList<cLineItem>(lines);
Run Code Online (Sandbox Code Playgroud)