Hola a todos, tengo un pequeño programa que creo que me está tomando un poco el pelo. Resulta que abro un formulario que carga de un dataset un datagridview. a este datagridview, una vez cargado con los datos de la BD, le añado una columna checkbox, con índice 0, y una columna Button con índice 11, que sería el último de columna.
Cuando hago la primera llamada al form se ejecuta correctamente, pero cuando cierro el form e intento llamarlo de nuevo (sin parar la ejecución), a la columna Button le asigna índice 1, pero lo sigue mostrando en la posición 11

Aquí dejo un código:
Código:
DGV.Columns.Clear()
DGV.DataSource = Nothing
form2.showdialog()
Dim dvCont As DataView
DGV.Columns.Clear()
dvCont = Cargar().Tables(0).DefaultView
DGV.DataSource = dvCont
DGV.AllowUserToAddRows = False
DGV.AllowUserToDeleteRows = False
Dim dgcheck As DataGridViewCheckBoxColumn
dgcheck = New DataGridViewCheckBoxColumn
With dgcheck
.Width = 20
.DisplayIndex = 0
.Frozen = True
.TrueValue = 1
.FalseValue = 0
End With
DGV.Columns.Insert(0, dgcheck)
DGV.Columns(8).Visible = False
Dim dgbutton As DataGridViewButtonColumn
dgbutton = New DataGridViewButtonColumn
With dgbutton
.UseColumnTextForButtonValue = True
.Text = "Fichero"
.DisplayIndex = 11
End With
DGV.Columns.Insert(11, dgbutton)
Al cerrar este form2 no hago nada, y al volver a abrirlo, otra vez los mismos pasos.
A ver si alguien puede ayudarme.
Muchas gracias