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 :

Sauvegarder et récupérer les données d'un DataGridView [Débutant]


Sujet :

VB.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    Technicien
    Inscrit en
    Juillet 2020
    Messages
    141
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Technicien

    Informations forums :
    Inscription : Juillet 2020
    Messages : 141
    Par défaut Sauvegarder et récupérer les données d'un DataGridView
    Bonjour le Forum,

    Je souhaite remplir mon DataGridview en récupèrent les données enregistrer dans un fichier text, actuellement seul le code qui sauvegarde les données fonctionne.
    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
         Dim writer As TextWriter = New StreamWriter("C:\Users\All Users\ABC.text")
     
                For i As Integer = 0 To DataGridView1.Rows.Count - 2 Step +1
     
                    For j As Integer = 0 To DataGridView1.Columns.Count - 1 Step +1
     
                        writer.Write(vbTab & DataGridView1.Rows(i).Cells(j).Value.ToString() & vbTab & "|")
     
                    Next
     
                    writer.WriteLine("")
                    writer.WriteLine("---------------------------------------------")
     
                Next
                writer.Close()
                MessageBox.Show("Data Exported")
    et je bloque avec le code qui récupère les données pour remplir le DataGridView
    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 lines() As String
                Dim vals() As String
     
                ' get lines from the text file
                lines = File.ReadAllLines("C:\Users\All Users\ABC.text")
     
                ' For i As Integer = 0 To lines.Length - 1 Step +1  ' lines
                For i As Integer = 0 To lines.Length - 2 Step +1  ' lines
                    vals = lines(i).ToString().Split(CChar(("|")))
                    Dim row(vals.Length - 1) As String
     
                    For j As Integer = 0 To vals.Length - 1 Step +1  ' columns
     
                        row(j) = vals(j).Trim()
     
                    Next j
     
                    Table.Rows.Add(row)
     
                Next i
    Je sollicite donc votre aide afin de corriger le code qui récupère les données, l'erreur est sur Table.Rows.Add(row)
    Merci à vous.

  2. #2
    Membre Expert Avatar de Thumb down
    Homme Profil pro
    Retraité
    Inscrit en
    Juin 2019
    Messages
    1 580
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Juin 2019
    Messages : 1 580
    Par défaut
    Bonsoir,
    et je bloque avec le code qui récupère les données pour remplir le DataGridView
    voila ce que j'utilise!
    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
    35
    36
    37
        Sub test()
            Const MyRep As String = "C:\Myrep\" 'on défini le répertoire qui deviendra la base de données
            Const MyFichier = "ABC.txt" 'on défini la table de la base de données
            Dim Shema As String = $"[{MyFichier}]
                Format= Delimited(|)"
            DataGridView1.DataSource = OpenFtxt(MyRep, $"Select  * From [{MyFichier.Replace(".", "#")}]", Shema, False)
        End Sub
        ''' <summary>
        ''' Permet de récupérer sou forme d'un Datatable le contenue d'un fichier texte
        ''' </summary>
        ''' <param name="folder">Répertoire ou ce trouve le ficher texte</param>
        ''' <param name="SQL">Requête de séléction à retourner sous forme de Datatable</param>
        ''' <param name="Shemat">permet de définire la structure du fichier</param>
        ''' <param name="Titre">Booléan qui détermine si la première ligne du fichier est l'entête de colonnes ou une donnée</param> 
        ''' <returns>retourn dune Datatable</returns>
        Private Function OpenFtxt(folder As String, SQL As String, Shema As String, Titre As Boolean) As DataTable
            '************************************************************************
            'on implémente le fichier schema.ini qui défini la structure du  ou les fichiers texte
            Dim objWriter As New System.IO.StreamWriter($"{folder}\schema.ini", False)
            objWriter.WriteLine(Shema)
            objWriter.Close()
            '**************************************************************************
            'on défini la connexion au répertoire pour le voir comme une base de données!
            Dim con As String = $"Provider=Microsoft.Jet.OLEDB.4.0;Data Source={folder};Extended Properties='text;HDR={If(Titre, "Yes", "No")};FMT=Delimited';"
            '*****************************************************************************
            Dim dt As New DataTable 'on déclare le datatable qui va contenire le résulta de la requête
            'on execute la requêteet on retourne le datatable
            Using Adp As New OleDbDataAdapter(SQL, con)
                Try
                    Adp.Fill(dt)
                    Return dt 'on retourne le datatable!
                Catch ex As Exception
                    Return Nothing
                End Try
            End Using
            '*****************************************************************************
        End Function

  3. #3
    Membre confirmé
    Homme Profil pro
    Technicien
    Inscrit en
    Juillet 2020
    Messages
    141
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Technicien

    Informations forums :
    Inscription : Juillet 2020
    Messages : 141
    Par défaut
    Bonjour Thumb down,

    Merci pour votre code, il fonctionne parfaitement.

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

Discussions similaires

  1. Réponses: 0
    Dernier message: 12/05/2018, 10h01
  2. Réponses: 2
    Dernier message: 01/12/2015, 20h22
  3. Récupérer les données d'un DataGridView
    Par leroyoli dans le forum Windows Forms
    Réponses: 6
    Dernier message: 19/06/2008, 21h28
  4. récupérer les données de datagridview
    Par abdoveer dans le forum VB.NET
    Réponses: 2
    Dernier message: 15/05/2008, 11h08
  5. Récupérer les données d'une iframe
    Par juli1 dans le forum Balisage (X)HTML et validation W3C
    Réponses: 4
    Dernier message: 09/02/2005, 22h53

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