Visualizzazione dei risultati da 1 a 3 su 3
  1. #1
    Utente di HTML.it
    Registrato dal
    Nov 2009
    Messaggi
    2

    Problema popolazione DataGridView

    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.

    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
    Notate qualcosa che non vā?

    Ecco il file CSV di prova
    codice:
    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
    Ecco uno screen del risultato


    Spero in vostri consigli

    P.S. Se avete bisogno vi passo il progetto in pvt, Grazie!

  2. #2
    Moderatore di Programmazione L'avatar di alka
    Registrato dal
    Oct 2001
    residenza
    Reggio Emilia
    Messaggi
    24,463

    Moderazione

    Ho spostato la discussione all'interno del forum dedicato a Visual Basic (VBx, VBA, VBScript, ...) e ai linguaggi per .NET Framework (VB.NET, C#, ...).

    In futuro, poni in questo forum le domande relative a questi linguaggi.

    Inoltre, l'indicazione del linguaggio nel titolo č obbligatoria, come da Regolamento.

    Tieni a mente queste regole per il futuro.

    Ciao!
    MARCO BREVEGLIERI
    Software and Web Developer, Teacher and Consultant

    Home | Blog | Delphi Podcast | Twitch | Altro...

  3. #3
    Utente di HTML.it
    Registrato dal
    Nov 2009
    Messaggi
    2
    pardon...

    ancora in attesa di qualche piccolo aiutino please

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.