Ciao, ho un piccolo problema con il controllo "DataGridView" che nel mio codice chiamo "Catalogo".
In questo stralcio di codice ho il problema che a seguito del lancio della routine e della lettura del file CSV popola i campi della griglia saltando alcuni valori che in debug vengono letti.
Notate qualcosa che non vā?codice:Private Sub RiconoscimentoCampi() Dim Leggi As Microsoft.VisualBasic.FileIO.TextFieldParser Dim Percorso As String Dim BufferRiga As String() Dim icl, irg, i As Integer irg = 0 Catalogo.Rows.Clear() 'azzero il catalogo Percorso = PercorsoDisco.Item(Indice) 'recupero dall'array il percorso completo del file selezionato all'interno di listview (listadischi) Leggi = My.Computer.FileSystem.OpenTextFieldParser(Percorso) 'apro il file in modo da riconoscere i campi Leggi.TextFieldType = FileIO.FieldType.Delimited 'dico che il file č delimitato (e non a larghezza fissa) Leggi.SetDelimiters(";") 'setto il delimitatore While Not Leggi.EndOfData Try Catalogo.Rows.Add() SaltaRiga: icl = 0 'per ogni riga letta azzero il numero di colonna del database e l'indice i = 0 '...del campo della riga letta (non la riga del database) BufferRiga = Leggi.ReadFields() 'copio l'intera riga delimitata in un array If BufferRiga(0) = String.Empty Then GoTo SaltaRiga End If For i = 0 To BufferRiga.Count - 1 Ricicla: If BufferRiga(i) = String.Empty Then 'Verifico ed elimino i campi vuoti generati dal doppio ; nel file csv i = i + 1 'incremento l'indice del campo (riguardante la riga letta) GoTo Ricicla End If Catalogo.Rows(irg).Cells(icl).Value = BufferRiga(i) i = i + 1 'incremento l'indice del campo (riguardante la riga letta) icl = icl + 1 'incremento l'indice della colonna (passo alla cella successiva) Next Catch ex As Exception MsgBox("La riga " & ex.Message & " non č valida e verrā saltata.") End Try irg = irg + 1 'incremento l'indice del numero di riga End While Leggi.Close() End Sub
Ecco il file CSV di prova
Ecco uno screen del risultatocodice:NUMBER;NAME;COUNT;EXT;SIZE;DATE;TIME ;Questa riga non deve essere letta perchč c'č il delimitatore ; davanti ;c:\Cartella\;1;;10.770,44 MB;2009-10-23;23:32 1. ;foto1;;jpg;0,51 MB;2009-08-17;14:08 2. ;foto2;;jpg;0,23 MB;2009-08-17;14:09 3. ;foto3;;jpg;0,35 MB;2009-08-17;14:02 4. ;foto4;;jpg;1,15 MB;2009-08-17;13:51 5. ;foto5;;jpg;0,43 MB;2009-08-17;14:02 6. ;foto6;;jpg;0,53 MB;2009-08-17;14:11 7. ;file_audio1;;mp3;10,44 MB;2009-08-17;14:14 8. ;file_audio2;;mp3;8,95 MB;2009-08-17;14:14 9. ;file_audio3;;mp3;5,51 MB;2009-08-17;14:07 10. ;film1;;avi;711,36 MB;2009-08-17;14:12
Spero in vostri consigli
P.S. Se avete bisogno vi passo il progetto in pvt, Grazie!


Rispondi quotando
