+ Rispondi al Thread
Visualizzazione dei risultati da 1 a 4 su 4

Discussione: DataGridView visualizza due volte le righe

  1. #1
    Francesco53 non è in linea Scolaretto
    Post
    141

    DataGridView visualizza due volte le righe

    Buongiorno a tutto il Forum,
    in una form ho inserito in un DataGridView la visione delle righe di un file di testo, il DataGridView è dotato di una scrollbar verticale, per poter visualizzare tutte le righe del file di testo.
    La mia difficoltà è che mi visualizza le righe due volte, per cui al termine dei dati, inizia nuovamente a farli visualizzare.
    Se inserisco zero in DataGridView1.FirstDisplayedScrollingRowIndex = 0 visualizza i dati due volte,
    se inserisco il numero massimo di dati li visualizza solo una volta, ma si posiziona all'ultima riga dei dati.
    Io vorrei visualizzare dalla prima riga ma senza la ripetizione delle righe dei dati letti.
    Posto il codice che utilizzo:

    codice:
    Sub ScriviT()
            'Scrive la Matrice in un file di testo
            Dim percorso As String = Directory.GetCurrentDirectory()
            Dim nomeFileTT As String = "\Dati2.txt"
            Dim I As Integer
            Using W As New IO.StreamWriter(percorso & nomeFileTT)
                For I = 1 To NEMax
                    W.WriteLine(TabDati(I, 0) & ";" & TabDati(I, 1) & ";" & TabDati(I, 2))
                Next I
            End Using
            Using leggi As New System.IO.StreamReader(percorso & nomeFileTT)
                Dim rigo As String
                Dim dividi() As String
                Do While leggi.Peek() <> -1
                    rigo = leggi.ReadLine()
                    dividi = Split(rigo, ";")
                    DataGridView1.Rows.Add(dividi)
                Loop
                DataGridView1.FirstDisplayedScrollingRowIndex = 0 'Visualizza due volte le righe
                'DataGridView1.FirstDisplayedScrollingRowIndex = NEMax 'Visualizza una volta le righe ma visualizza dall'ultima riga
            End Using
        End Sub
    Ringrazio chi mi può dare le indicazioni per superare la difficoltà.
    Francesco

  2. #2
    Dev-01 non è in linea Scolaretto
    Post
    447
    Devi svuotare la datagridview prima di ricaricarla.

    Controlla il file per essere sicuro che contenga una sola copia dei record.

  3. #3
    patel45 non è in linea Scolaretto Ultimo blog: recupero dati da pagina html
    Post
    285
    Blogs
    1
    Oltre alle raccomandazioni di Dev-01 mi chiedo:
    Ma tu hai i dati in una datatable, li salvi in un file di testo e poi popoli la DGV dal file di testo ? perché ? non fai prima a popolarla direttamente dalla datatable ?
    Se non risolvi allega il file di testo

  4. #4
    Francesco53 non è in linea Scolaretto
    Post
    141
    Buongiorno a tutti e grazie per l'aiuto, ho risolto seguendo le indicazioni di Dev-01 inserendo il seguente codice:

    codice:
    Me.DataGridView1.Rows.Clear()
    prima della riga:

    codice:
    Using leggi As New System.IO.StreamReader(percorso & nomeFileTT)
    Grazie
    Francesco

+ Rispondi al Thread

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi