.Net在运行时重新排序DataGridView列

Bel*_*iez 3 .net vb.net datagrid datagridview

有没有一种简单的方法来重新排序在运行时绑定到DataSet的DataGridView的列?

我可以在设计时通过DataGridView"编辑列"对话框来完成它,但每次更改表单时都要记住这样做(删除或添加DataGridView到表单).

谢谢

SwD*_*n81 5

使用DisplayIndex:

' Swap the last column with the first.'
Private Sub Button10_Click(ByVal sender As Object, _
    ByVal args As EventArgs) Handles Button10.Click

    Dim columnCollection As DataGridViewColumnCollection = _
        dataGridView.Columns

    Dim firstVisibleColumn As DataGridViewColumn = _
        columnCollection.GetFirstColumn(DataGridViewElementStates.Visible)
    Dim lastVisibleColumn As DataGridViewColumn = _
        columnCollection.GetLastColumn(DataGridViewElementStates.Visible, _
        Nothing)

    Dim firstColumn_sIndex As Integer = firstVisibleColumn.DisplayIndex
    firstVisibleColumn.DisplayIndex = _
        lastVisibleColumn.DisplayIndex
    lastVisibleColumn.DisplayIndex = firstColumn_sIndex
End Sub
Run Code Online (Sandbox Code Playgroud)