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