none
lire fichier txt avec datagridview avec vb2010 RRS feed

  • Question

  • bonjour

    je suis entrain d'apprendre à lire un fichier txt pour charger un datagridview mon code fonction en lecture par contre il écrit a la fin de mon tableau voici le code complet de mon tableau  si vous pouvez me dire où j’ai fait une erreur et me l'expliquer je vous en serais très reconnaissant

    voici le code

    Imports System.IO
    Imports System.Data
    
    Public Class Form2
        Private Sub Button_quitter_Click(sender As Object, e As System.EventArgs) Handles Button_saisir_autre_libellé.Click
            Form1.Show()
            Form1.Button_acces_tableau.Visible = False
            Form1.MenuStrip1.Visible = False
            Me.Visible = False
        End Sub
    
        Private Sub Form2_Load(sender As Object, e As System.EventArgs) Handles Me.Load
            Me.DataGridView1.Rows(0).Cells.Item(2).Value = "date"
            Me.DataGridView1.Rows(0).Cells.Item(3).Value = "valeur"""
            ''AJOUTER DES LIGNEs
            DataGridView1.Rows.Add(35)
    
    
    
            'changer la coueur entete des mois
            'Rendre le VisualStyle du Header False
    
            DataGridView1.EnableHeadersVisualStyles = False
            'couleur janvier couluuer= aquamarine
            Dim DGHeader As DataGridViewColumn = DataGridView1.Columns(2)
            'Changer le HeaderCell.style
            DGHeader.HeaderCell.Style.BackColor = Color.Aquamarine
            Dim DGHeader1 As DataGridViewColumn = DataGridView1.Columns(3)
            'Changer le HeaderCell.style
            DGHeader1.HeaderCell.Style.BackColor = Color.Aquamarine
    
            'couleur fevrier couluuer= greenyellow
            Dim fevrier As DataGridViewColumn = DataGridView1.Columns(4)
            'Changer le HeaderCell.style
            fevrier.HeaderCell.Style.BackColor = Color.GreenYellow
            Dim fevrier1 As DataGridViewColumn = DataGridView1.Columns(5)
            'Changer le HeaderCell.style
            fevrier1.HeaderCell.Style.BackColor = Color.GreenYellow
    
            'couleur mars couluuer= lawngreen
            Dim mars As DataGridViewColumn = DataGridView1.Columns(6)
            'Changer le HeaderCell.style
            mars.HeaderCell.Style.BackColor = Color.LawnGreen
            Dim mars1 As DataGridViewColumn = DataGridView1.Columns(7)
            'Changer le HeaderCell.style
            mars1.HeaderCell.Style.BackColor = Color.LawnGreen
    
            'couleur avril couluuer= limegreen
            Dim avril As DataGridViewColumn = DataGridView1.Columns(8)
            'Changer le HeaderCell.style
            avril.HeaderCell.Style.BackColor = Color.LimeGreen
            Dim avril1 As DataGridViewColumn = DataGridView1.Columns(9)
            'Changer le HeaderCell.style
            avril1.HeaderCell.Style.BackColor = Color.LimeGreen
    
            'couleur mai couluuer= springgreen
            Dim mai As DataGridViewColumn = DataGridView1.Columns(10)
            'Changer le HeaderCell.style
            mai.HeaderCell.Style.BackColor = Color.SpringGreen
            Dim mai1 As DataGridViewColumn = DataGridView1.Columns(11)
            'Changer le HeaderCell.style
            mai1.HeaderCell.Style.BackColor = Color.SpringGreen
    
            'couleur juin couluuer= orchid
            Dim juin As DataGridViewColumn = DataGridView1.Columns(12)
            'Changer le HeaderCell.style
            juin.HeaderCell.Style.BackColor = Color.Orchid
            Dim juin1 As DataGridViewColumn = DataGridView1.Columns(13)
            'Changer le HeaderCell.style
            juin1.HeaderCell.Style.BackColor = Color.Orchid
    
            'couleur juillet couluuer= pabviolfed
            Dim juillet As DataGridViewColumn = DataGridView1.Columns(14)
            'Changer le HeaderCell.style
            juillet.HeaderCell.Style.BackColor = Color.PaleVioletRed
            Dim juillet1 As DataGridViewColumn = DataGridView1.Columns(15)
            'Changer le HeaderCell.style
            juillet1.HeaderCell.Style.BackColor = Color.PaleVioletRed
    
            'couleur aout couluuer= peru
            Dim aout As DataGridViewColumn = DataGridView1.Columns(16)
            'Changer le HeaderCell.style
            aout.HeaderCell.Style.BackColor = Color.Peru
            Dim aout1 As DataGridViewColumn = DataGridView1.Columns(17)
            'Changer le HeaderCell.style
            aout1.HeaderCell.Style.BackColor = Color.Peru
    
            'couleur septembre couluuer= aqua
            Dim septembre As DataGridViewColumn = DataGridView1.Columns(18)
            'Changer le HeaderCell.style
            septembre.HeaderCell.Style.BackColor = Color.Aqua
            Dim septembre1 As DataGridViewColumn = DataGridView1.Columns(19)
            'Changer le HeaderCell.style
            septembre1.HeaderCell.Style.BackColor = Color.Aqua
    
            'couleur octobre couluuer= sienna
            Dim octobre As DataGridViewColumn = DataGridView1.Columns(20)
            'Changer le HeaderCell.style
            octobre.HeaderCell.Style.BackColor = Color.Sienna
            Dim octobre1 As DataGridViewColumn = DataGridView1.Columns(21)
            'Changer le HeaderCell.style
            octobre1.HeaderCell.Style.BackColor = Color.Sienna
    
            'couleur novembre couluuer= tomdo
            Dim novembre As DataGridViewColumn = DataGridView1.Columns(22)
            'Changer le HeaderCell.style
            novembre.HeaderCell.Style.BackColor = Color.Tomato
            Dim novembre1 As DataGridViewColumn = DataGridView1.Columns(23)
            'Changer le HeaderCell.style
            novembre1.HeaderCell.Style.BackColor = Color.Tomato
    
            'couleur decembre couluuer= goldenrod
            Dim decembre As DataGridViewColumn = DataGridView1.Columns(24)
            'Changer le HeaderCell.style
            decembre.HeaderCell.Style.BackColor = Color.Goldenrod
            Dim decembre1 As DataGridViewColumn = DataGridView1.Columns(25)
            'Changer le HeaderCell.style
            decembre1.HeaderCell.Style.BackColor = Color.Goldenrod
    
            'ecrire le mot date toutes les deux colonnes
            Dim dte As String = "date"
            For i = 2 To 24 Step 2
                DataGridView1.Rows(0).Cells.Item(i).Value = dte
            Next
    
            'ecrie le mot valeur toutes colonnes impair
            Dim vlr As String = "valeur"
            For i = 3 To 25 Step 2
                DataGridView1.Rows(0).Cells.Item(i).Value = vlr
            Next
    
    
        End Sub
    
        Private Sub Button_enregistrer_tableau_Click(sender As Object, e As System.EventArgs) Handles Button_enregistrer_tableau.Click
            Dim save As New SaveFileDialog
            save.Filter = "Fichier Texte|*.txt"
            save.InitialDirectory = My.Computer.FileSystem.SpecialDirectories.Desktop
            If save.ShowDialog = Windows.Forms.DialogResult.OK Then
                Using writer As New StreamWriter(save.FileName)
                    For i = 0 To DataGridView1.Rows.Count - 1
                        writer.WriteLine(Me.DataGridView1.Rows.Item(i).Cells.Item(0).Value + ("" & vbTab + Me.DataGridView1.Rows.Item(i).Cells.Item(1).Value))
                    Next i
                    writer.Close()
                    MessageBox.Show("Fichier Sauvegarder", "Sauvegarder!")
                End Using
            End If
    
    
    
        End Sub
    
        Private Sub Button_lire_le_tableau_Click(sender As Object, e As System.EventArgs) Handles Button_lire_le_tableau.Click
            'DataGridView1.Rows.RemoveAt(0)
    
            Dim open As New OpenFileDialog
            open.Filter = "Fichier Texte|*.txt"
            open.FileName = "DataGridView1"
            open.InitialDirectory = My.Computer.FileSystem.SpecialDirectories.Desktop
            If open.ShowDialog = Windows.Forms.DialogResult.OK Then
                Using reader As New StreamReader(open.FileName)
                    Dim TextLine As String = ""
                    Dim SplitLine() As String
                    Do While reader.Peek <> -1
                        TextLine = reader.ReadLine()
                        SplitLine = Split(TextLine, vbTab)
                        DataGridView1.Rows.Add(SplitLine)
                    Loop
                    reader.Close()
                End Using
                MessageBox.Show("Fichier charger", "Chargement")
            Else : Exit Sub
            End If
        End Sub
    End Class

    vendredi 4 décembre 2015 08:49

Réponses

  • Chaque ligne du fichier txt peut être lu dans un DataGridView.Row puis ajouté au DataGridView1 à la fin avec add ou avec Insert:


    DataGridView1.Rows.Add(New String(){Value1, Value2, Value3})

    DataGridView1.Rows.Insert(rowPosition, New String(){value1, value2, value3})




    Cyrille Precetti

    • Marqué comme réponse SIMONGEORGES vendredi 4 décembre 2015 14:09
    vendredi 4 décembre 2015 10:17

Toutes les réponses

  • Chaque ligne du fichier txt peut être lu dans un DataGridView.Row puis ajouté au DataGridView1 à la fin avec add ou avec Insert:


    DataGridView1.Rows.Add(New String(){Value1, Value2, Value3})

    DataGridView1.Rows.Insert(rowPosition, New String(){value1, value2, value3})




    Cyrille Precetti

    • Marqué comme réponse SIMONGEORGES vendredi 4 décembre 2015 14:09
    vendredi 4 décembre 2015 10:17
  • MERCI beaucoup je vais tester
    vendredi 4 décembre 2015 14:10