views:

342

answers:

1

Hi,

Is there a simple way to re-ordering the columns of a DataGridView that are bound to a DataSet at runtime?

I can do it simply via the DataGridView "Edit Columns" dialog at design time but have to remember to do this every time make changes to the form (remove or add the DataGridView to the form).

Thanks

+2  A: 

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
SwDevMan81
thanks, this is exactly what I am looking for
Belliez