Testato con Visual Basic 2010
Quando si ha la necessità di associare tramite codice VB dei dati alla DataGrid e poi di impostare la larghezza delle colonne, il suo titolo o di nasconderne alcune, può risultare molto utile l'esempio di codice sottostante:
Private Sub CaricaDataGrid()
Dim SQL As String
Dim RS As New ADODB.Recordset
Dim DA As New OleDb.OleDbDataAdapter
Dim DT As New DataTable
Dim i As Single
'Apro la connessione
##ROUTINE DI CONNESSIONE AL DATABASE##
'Imposto la stringa SQL e apro il RecordSet
SQL = "SELECT Id, Campo1, Campo2, FROM MyTabella;"
RS.Open(SQL, CNN)
'Creo il DataAdapter e lo associo alla DataTable
DA.Fill(DT, RS)
'Associo la DataTable alla DataGrid
MyDataGrid.DataSource = DT
'Chiudo il RecordSet e la connessione
RS.Close()
RS = Nothing
##ROUTINE DI CHIUSURA DELLA CONNESSIONE##
'Verifico che la dataTable abbia dei Record e formatto la DataGrid
If DT.Rows.Count > 0 Then
i = (MyDataGrid.Width - 61) / 100
With dtgSpecialita
.Columns(0).HeaderText = "id"
.Columns(1).HeaderText = "Campo 1"
.Columns(2).HeaderText = "Campo 2"
.Columns(0).Visible = False
.Columns(1).Width = i * 100
.Columns(2).Visible = False
HorizontalScroll.Value = False
End With
End If
End Sub