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:
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.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
Dove sbaglio?
Scusate se sono stato un pò lunghetto.
Grazie
Marco

Rispondi quotando