最近在写一个小程序,主要功能就是读入一个表格数据,然后选择一列进行处理,当使用DataGridView控件的时候发现一个小问题,就是当点击表头的时候列会自动排序,对于有些数列来说并不需要这样的功能,查看了属性设置里面的项目,并没有发现能够设置的地方,最后才弄明白,这个功能是默认开启的,想关掉的话必须用代码实现,这项属性设置是针对每一列的,因此需要对每一列的属性都进行设置。这样一来,就不能在Form Load中设置完事,因为读取的原始数据如果存在猎术不一样的情况就会出问题,只能是在绑定DataTable以后再设置了,设置的代码如下:
int columnCount = dataGridView.Columns.Count;
for(int i = 0; i < columnCount; i++)
{
dataGridView.Columns[i].SortMode = DataGridViewColimnSortMode.Programmatic;
}
首先是获取总共有多少列,然后通过循环将每一列的SortMode设置成不自动排序就可以了。这里总共有三个属性可供选择,一种就是默认的自动排序,一种是不排序,在就是通过程序控制排序,可以根据需要进行设置。