IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

VB.NET Discussion :

fichier .txt dans un datagridview


Sujet :

VB.NET

  1. #1
    Membre actif
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2007
    Messages
    758
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Finance

    Informations forums :
    Inscription : Février 2007
    Messages : 758
    Points : 279
    Points
    279
    Par défaut fichier .txt dans un datagridview
    Bonjour,

    je souhaite afficher des informations issus d'un fichier texte dans un datagridview.
    Le fichier texte se présente de la forme suivante dans tout les cas, chaque action est faite par un retour à la ligne, et comporte la date, l'heure et la nature de l'opération, voici l'exemple :

    28/02/2013=!=23:52:11=!=Ouverture de l application
    28/02/2013=!=23:52:28=!=Initialise la carte de comptage
    28/02/2013=!=23:52:28=!=Initialise la carte ProfilBUS
    28/02/2013=!=23:52:31=!=Ouverture de la fenetre gestion
    Donc dans mon datagridview je compte crée 3 colonnes, une date, une heure et une opération, voici mon code qui ne fonctionne pas :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
            Dim separation As String = "=!="
            Dim Elements As String() = Split(File.ReadAllText(My.Settings.path_static & "\log.txt"), separation)
            For i As Integer = 0 To Elements.Length - 1
                DataGridView1.Rows.Add(i)
            Next
    si vous avez une idée !

  2. #2
    Expert éminent Avatar de Graffito
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    5 993
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 5 993
    Points : 7 903
    Points
    7 903
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Dim lineseparation AsString = Environment.NewLine 
    Dim columnseparation AsString = "=!="
    Dim Elements AsString() = Split(File.ReadAllText(My.Settings.path_static & "\log.txt"), lineseparation)
    For i AsInteger = 0 To Elements.Length - 1
      DataGridView1.Rows.Add(Elements[i].Split(columnseparation)) ;      
    Next 
    " Le croquemitaine ! Aaaaaah ! Où ça ? " ©Homer Simpson

  3. #3
    Membre actif
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2007
    Messages
    758
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Finance

    Informations forums :
    Inscription : Février 2007
    Messages : 758
    Points : 279
    Points
    279
    Par défaut
    j'ai essayé ton code, mais ça ne fonctionne pas :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
            Dim lineseparation As String = Environment.NewLine
            Dim columnseparation As String = "=!="
            Dim Elements As String() = Split(File.ReadAllText("C:\Users\laurent\Documents\static\log.txt"), lineseparation)
            For i As Integer = 0 To Elements.Length - 1
                DataGridView1.Rows.Add(Elements(i).Split(columnseparation))
            Next
    peut etre parce qu'on split avec '=!=' sans signaler les nombre de colonne ni leur affectation

  4. #4
    Expert éminent Avatar de Graffito
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    5 993
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 5 993
    Points : 7 903
    Points
    7 903
    Par défaut
    As-tu auparavant créé 3 colonnes de type String dans la DataGridView ?
    " Le croquemitaine ! Aaaaaah ! Où ça ? " ©Homer Simpson

  5. #5
    Membre actif
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2007
    Messages
    758
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Finance

    Informations forums :
    Inscription : Février 2007
    Messages : 758
    Points : 279
    Points
    279
    Par défaut
    non tu veu dire ceci :

    Dim col_date as string
    Dim col_heure as string
    Dim col_operation as string
    Mais aprés comment les inclure ? dans le tableau ?

  6. #6
    Expert éminent Avatar de Graffito
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    5 993
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 5 993
    Points : 7 903
    Points
    7 903
    Par défaut
    Aux fautes de syntaxe VB près (je ne pratique pas VB):
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Dim ColDate as DataGridViewTextBoxColumn = new DataGridViewTextBoxColumn()
    ColDate.Name="Date" 
    ColDate.HeaderText="Date" 
    DataGridView1.Add(ColDate)
    // idem pour heure et operation
    " Le croquemitaine ! Aaaaaah ! Où ça ? " ©Homer Simpson

  7. #7
    Membre actif
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2007
    Messages
    758
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Finance

    Informations forums :
    Inscription : Février 2007
    Messages : 758
    Points : 279
    Points
    279
    Par défaut
    ok, merci, malheureusement je n'arrive pas afficher les entrées de mon fichier texte dans le datagridview1, seul les colonnes apparaissent correctement, pourtant le fichier texte est présent avec les caractére '=!='

    voila mon code au complet au chargement de la fenetre

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
     Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
            TopMost = True
            Dim ColDate As DataGridViewTextBoxColumn = New DataGridViewTextBoxColumn()
            ColDate.Name = "Date"
            ColDate.HeaderText = "Date"
            DataGridView1.Columns.Add(ColDate)
            Dim ColHeure As DataGridViewTextBoxColumn = New DataGridViewTextBoxColumn()
            ColHeure.Name = "Heure"
            ColHeure.HeaderText = "Heure"
            DataGridView1.Columns.Add(ColHeure)
            Dim ColEven As DataGridViewTextBoxColumn = New DataGridViewTextBoxColumn()
            ColEven.Name = "Evenement"
            ColEven.HeaderText = "Evenement"
            DataGridView1.Columns.Add(ColEven)
     
            'on insére les données issu du fichier texte
     
            Dim lineseparation As String = Environment.NewLine
            'Dim columnseparation As String = "=!="
            Dim Elements As String() = Split(File.ReadAllText("C:\Users\laurent\Documents\static\log.txt"), lineseparation)
            Label1.Text = Elements.Length
            For i As Integer = 0 To Elements.Length
                DataGridView1.Rows.Insert(Elements(i))
            Next
        End Sub
    ps : il s'agit de la bonne adresse du fichier texte, bizarre

  8. #8
    Membre éprouvé
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    665
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 665
    Points : 1 161
    Points
    1 161
    Par défaut
    Bonsoir,
    si vous suivez bien les indications de Graffito, le code doit ressembler à ça et devrait fonctionner :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
        Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
            TopMost = True
            Dim ColDate As DataGridViewTextBoxColumn = New DataGridViewTextBoxColumn()
            ColDate.Name = "Date"
            ColDate.HeaderText = "Date"
            DataGridView1.Columns.Add(ColDate)
            Dim ColHeure As DataGridViewTextBoxColumn = New DataGridViewTextBoxColumn()
            ColHeure.Name = "Heure"
            ColHeure.HeaderText = "Heure"
            DataGridView1.Columns.Add(ColHeure)
            Dim ColEven As DataGridViewTextBoxColumn = New DataGridViewTextBoxColumn()
            ColEven.Name = "Evenement"
            ColEven.HeaderText = "Evenement"
            DataGridView1.Columns.Add(ColEven)
     
            Dim lineseparation As String = Environment.NewLine
            Dim columnseparation As String = "=!="
            Dim Elements As String() = Split(File.ReadAllText("C:\Users\laurent\Documents\static\log.txt"), lineseparation)
     
            For i As Integer = 0 To Elements.Length - 1
                DataGridView1.Rows.Add(Elements(i).Split(columnseparation))
            Next
     
            'on insére les données issu du fichier texte
     
            'Dim lineseparation As String = Environment.NewLine
            ''Dim columnseparation As String = "=!="
            'Dim Elements As String() = Split(File.ReadAllText("C:\Users\laurent\Documents\static\log.txt"), lineseparation)
            ''Label1.Text = Elements.Length
            'For i As Integer = 0 To Elements.Length
            '    DataGridView1.Rows.Insert(Elements(i))
            'Next
     
        End Sub

  9. #9
    Membre actif
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2007
    Messages
    758
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Finance

    Informations forums :
    Inscription : Février 2007
    Messages : 758
    Points : 279
    Points
    279
    Par défaut
    oui effectivement j'avais tenté une modifs, merci pour l'info. et merci à tous pour avoir pris du temps afin de m'aider .
    Bonne soirée

  10. #10
    Membre éprouvé
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    665
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 665
    Points : 1 161
    Points
    1 161
    Par défaut
    petit correctif , ça ira mieux ainsi :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
            Dim ColDate As DataGridViewTextBoxColumn = New DataGridViewTextBoxColumn()
            ColDate.Name = "Date"
            ColDate.HeaderText = "Date"
            DataGridView1.Columns.Add(ColDate)
            Dim ColHeure As DataGridViewTextBoxColumn = New DataGridViewTextBoxColumn()
            ColHeure.Name = "Heure"
            ColHeure.HeaderText = "Heure"
            DataGridView1.Columns.Add(ColHeure)
            Dim ColEven As DataGridViewTextBoxColumn = New DataGridViewTextBoxColumn()
            ColEven.Name = "Evenement"
            ColEven.HeaderText = "Evenement"
            DataGridView1.Columns.Add(ColEven)
     
            Dim lineseparation As String = Environment.NewLine
            Dim columnseparation() As String = {"=!="}
            Dim Elements As String() = Split(File.ReadAllText("C:\Users\laurent\Documents\static\log.txt"), lineseparation)
     
            For i As Integer = 0 To Elements.Length - 1
                DataGridView1.Rows.Add(Elements(i).Split(columnseparation, StringSplitOptions.None))
            Next
    String.Split, méthode (String(), StringSplitOptions)

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [Débutant] import fichier txt dans datagridview
    Par le_pere_noel dans le forum C#
    Réponses: 0
    Dernier message: 23/10/2014, 17h12
  2. Réponses: 1
    Dernier message: 14/04/2006, 16h51
  3. Création d'un fichier TXT dans un trigger
    Par palmi38 dans le forum Développement
    Réponses: 1
    Dernier message: 09/01/2006, 11h55
  4. Réponses: 1
    Dernier message: 07/12/2005, 17h53
  5. .bat pour l'import de fichier txt dans postgres
    Par pseudomh dans le forum PostgreSQL
    Réponses: 1
    Dernier message: 25/03/2005, 00h02

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo