2017-02-10 141 views
0

当我编程排序DataGridView控件中的列例如。WinForm DataGridView排序禁用手动用户排序

dgv.Sort(dgv.Columns[0], ListSortDirection.Ascending) 

用户然后无法更改任何其他列上的排序。 如何更改行为以在列上设置默认排序,然后允许用户执行自己的排序?

回答

0

确保您的列都可以进行排序,当你创建你的网格:

foreach (DataGridViewColumn column in dataGridView1.Columns) 
{ 
    column.SortMode = DataGridViewColumnSortMode.Automatic; 
} 

我能够手动排序通过单击列标题叫你上面给的行之后。确保用户可以在拨打上面的行之前进行排序。如果没有,那么你需要设置我上面显示的columnn属性。

+0

我已经在所有列上专门设置了排序模式为自动。如果我注释掉行dgv.Sort(dgv.Columns [0],ListSortDirection.Ascending),则用户可以手动对列进行排序:但添加该行,并且用户不能再对列进行排序。 DataGridView绑定到一个DataTable。 – labnet