实际上,一个DataGridView控件的列选中如果数据是死的话,就是程序运行前DataSource已经绑定的话,只要吧SelectionMode 设置为ColumnHeaderSelect就好了,但是如果是动态的话,这样做是不行的,会抛出SortMode不能为automaic(自动的)的异常。那么下面这个函数就解决了这个问题。还有要吧datagridview的selectionMOde设置为RowHeaderSelet才行。
public void setDataGridView(DataTable dt)
{
dataView.DataSource = dt;
int count = dataView.Columns.Count;
for (int i = 0; i < count; i++)
{
dataView.Columns[i].SortMode = DataGridViewColumnSortMode.Programmatic;
}
dataView.SelectionMode = DataGridViewSelectionMode.ColumnHeaderSelect;
}