Ciao a tutti
sto iniziando ad utilizzare visual basic 2008 express per fare delle prove e vedere se passare poi a visual studio, vi spiego il mio problema che sicuramente per voi è banale ma per me è un ostacolo.
Ho inserito una datagridview collegata a un db access in un form e tutto funziona, vedo i dati ed è tutto ok solo che le intestazioni delle colonne sono i nomi dei campi mentre io vorrei dare dei nomi più sensati.
Ho fatto delle prove utilizzando il seguente codice opportunamente modificato:
codice:
Private Sub FrmRunTime_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
DataGridView1.AutoGenerateColumns = False
Dim StrProvider As String = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=c:\\dati.accdb"
Dim StrSql As String = "Select * from Anagrafica"
'oggetto connection
Dim Condati As New OleDbConnection(StrProvider)
Try
'apro la connessione
Condati.Open()
'oggetti per la gestione dei dati
Dim dtsdati As New DataSet
Dim DtaDati As New OleDbDataAdapter(StrSql, Condati)
DtaDati.Fill(dtsdati, "Anagrafica")
Dim StrSql2 As String = "select * from luogo"
Dim dtsdati2 As New DataSet
Dim DtaDati2 As New OleDbDataAdapter(StrSql2, Condati)
DtaDati2.Fill(dtsdati2, "luogo")
'Oggetto per la colonna nome
Dim ColumNome As New DataGridViewTextBoxColumn
ColumNome.DataPropertyName = "Nome"
ColumNome.HeaderText = "Nome"
ColumNome.Name = "Nome"
'Oggetto per la colonna cognome
Dim ColumnCognome As New DataGridViewTextBoxColumn
ColumnCognome.DataPropertyName = "Cognome"
ColumnCognome.HeaderText = "Cognome"
ColumnCognome.Name = "Cognome"
'Oggetto di tipo combobox per la gestione del paese
Dim columnPaese As New DataGridViewComboBoxColumn()
With columnPaese
.DataPropertyName = "Paese"
.HeaderText = "Paese"
.MaxDropDownItems = 5
.FlatStyle = FlatStyle.Flat
.DataSource = dtsdati2.Tables("luogo")
.ValueMember = "Paese"
.DisplayMember = "Paese"
End With
'tramite il metodo insert della proprietà columns aggiungo le colonne create in precedenza
DataGridView1.Columns.Insert(0, ColumNome)
DataGridView1.Columns.Insert(1, ColumnCognome)
DataGridView1.Columns.Insert(2, columnPaese)
'riempio la griglia
DataGridView1.DataSource = dtsdati
DataGridView1.DataMember = "Anagrafica"
Catch ex As Exception
MessageBox.Show(ex.Message)
Finally
Condati.Close()
End Try
End Sub
il problema è che mi vengono aggiunte delle colonne con le intestazioni che voglio ma non modificano quelle originali, vengono aggiunte prima lasciando anche le altre.
Dove sbaglio?
Scusate se sono stato un pò lunghetto.
Grazie
Marco