13/09/12 15:45
WillyVB
Come avevo premesso nell'ultimo intervento mi sto cimentando da poco al vb.net
Sto creando un software gestionale interfacciato con un database access e ho la necessità di portare un'intera tabella del database ad una listview, il problema è che all'interno del database ho più tabelle con un diverso numero di colonne, quindi mi serve cancellare e ricreare lo schema delle colonne della listview in modo automatico, per ogni tabella che apro.
Questo è il codice da me usato (ma non va mi da pure errore, ma ne ho provato cosi tanti che sono finito qui per chiedervi una mano)
ovviamente ciò che non è dichiarato in questa parte di codice è dichiarato pubblicamente
Sto creando un software gestionale interfacciato con un database access e ho la necessità di portare un'intera tabella del database ad una listview, il problema è che all'interno del database ho più tabelle con un diverso numero di colonne, quindi mi serve cancellare e ricreare lo schema delle colonne della listview in modo automatico, per ogni tabella che apro.
Questo è il codice da me usato (ma non va mi da pure errore, ma ne ho provato cosi tanti che sono finito qui per chiedervi una mano)
Private Sub CmdCatVis_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles CmdCatVis.Click Dim Cat As String Dim i As Integer Dim a() As String Dim DataSet2 As New Data.DataSet a = Nothing i = 0 Cat = ComboCat.Text Dim archivio As New OleDb.OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + AppPath + "/DB.mdb") Dim selezione = New OleDbDataAdapter("SELECT * FROM " & Cat & "", archivio) selezione.FillSchema(DataSet2, SchemaType.Source, Cat) selezione.Fill(DataSet2, Cat) archivio.Close() Dim DataTable1 As New Data.DataTable DataTable1 = DataSet2.Tables(Cat) Dim nc As Integer = DataSet2.Tables(0).Columns.Count For i = 0 To (nc = nc - 1) a(i) = (DataSet2.Tables(Cat).Columns(i).ColumnName()) ListView1.Columns.Add(a(i)) Next Dim x As DataRow For Each x In DataTable1.Rows For i = 0 To (nc = nc - 1) ListView1.Items.Add(x(a(i)).ToString()) Next i Next x End Sub
ovviamente ciò che non è dichiarato in questa parte di codice è dichiarato pubblicamente
aaa