vb.net DataGridView拖拽标题进行排序
时间: 2023-10-14 08:31:34 浏览: 155
在 VB.NET 中,可以通过以下步骤实现 DataGridView 标题的拖拽排序:
1. 设置 DataGridView 的 AllowUserToOrderColumns 属性为 True,以允许用户拖拽列标题进行排序。
2. 添加 DataGridView 的 ColumnHeaderMouseClick 事件和 ColumnDisplayIndexChanged 事件的处理程序。
3. 在 ColumnHeaderMouseClick 事件处理程序中,设置 DataGridView 的 AllowUserToOrderColumns 属性为 False,禁止用户在单击列标题时自动排序。
4. 在 ColumnDisplayIndexChanged 事件处理程序中,重新启用 DataGridView 的 AllowUserToOrderColumns 属性。
以下是示例代码:
```
' 设置 DataGridView 的 AllowUserToOrderColumns 属性为 True
DataGridView1.AllowUserToOrderColumns = True
' 添加 DataGridView 的 ColumnHeaderMouseClick 和 ColumnDisplayIndexChanged 事件的处理程序
AddHandler DataGridView1.ColumnHeaderMouseClick, AddressOf DataGridView1_ColumnHeaderMouseClick
AddHandler DataGridView1.ColumnDisplayIndexChanged, AddressOf DataGridView1_ColumnDisplayIndexChanged
' ColumnHeaderMouseClick 事件处理程序
Private Sub DataGridView1_ColumnHeaderMouseClick(sender As Object, e As DataGridViewCellMouseEventArgs)
' 禁止用户在单击列标题时自动排序
DataGridView1.AllowUserToOrderColumns = False
End Sub
' ColumnDisplayIndexChanged 事件处理程序
Private Sub DataGridView1_ColumnDisplayIndexChanged(sender As Object, e As DataGridViewColumnEventArgs)
' 重新启用 DataGridView 的 AllowUserToOrderColumns 属性
DataGridView1.AllowUserToOrderColumns = True
End Sub
```
当用户拖拽列标题时,DataGridView 会自动响应 ColumnHeaderMouseClick 事件和 ColumnDisplayIndexChanged 事件,实现列标题的拖拽排序。
阅读全文
相关推荐















