C# DataGridView 禁止列排序
时间: 2023-07-01 13:28:44 浏览: 113
要禁止C# DataGridView中的列排序,可以通过设置DataGridView控件的ColumnHeadersHeightSizeMode属性为DisableResizing来实现,同时将列的SortMode属性设置为NotSortable,这样就可以禁止用户对列进行排序操作。
具体实现代码如下:
```
dataGridView1.ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.DisableResizing;
foreach (DataGridViewColumn column in dataGridView1.Columns)
{
column.SortMode = DataGridViewColumnSortMode.NotSortable;
}
```
这样就可以禁止DataGridView控件中的列排序了。
相关问题
c#datagridview关闭列排序
要禁用C#中DataGridView的列排序功能,可以使用以下代码:
```csharp
yourDataGridView.Columns[columnIndex].SortMode = DataGridViewColumnSortMode.NotSortable;
```
其中,`columnIndex`是要禁用排序的列的索引。
如果要禁用所有列的排序,可以使用以下代码:
```csharp
foreach (DataGridViewColumn column in yourDataGridView.Columns)
{
column.SortMode = DataGridViewColumnSortMode.NotSortable;
}
```
这样,用户将无法通过单击列标题来对DataGridView进行排序。
C#datagridview删除列
在C#中,DataGridView删除列有多种方法,以下是其中两种常用的方法:
1. 设置DataGridView的DataSource为null,这样会将DataGridView的列也删除。
2. 通过获取当前行的索引,再通过DataTable的Rows属性删除该行数据。
具体实现方法如下:
1. 设置DataGridView的DataSource为null:
dataGridView1.DataSource = null;
2. 通过DataTable的Rows属性删除该行数据:
DataTable dt = ds.Tables["user"];
int i = dataGridView1.CurrentRow.Index;
DataRow dr = dt.Rows[i];
dt.Rows.Remove(dr);
另外,还可以使用DataGridView的Rows.Clear()方法清空所有数据,效果和设置DataSource为null是一样的。