.Net Reorder DataGridView Columns at Run Time

Is there an easy way to reorder DataGridView columns bound to a DataSet at runtime?

I can do this simply using the Edit Columns DataGridView dialog box at design time, but remember to do this every time you make changes to the form (delete or add the DataGridView to the form).

thank

+3
source share
1 answer

Use 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
+5
source

Source: https://habr.com/ru/post/1727648/


All Articles