[vb.net] Lire et écrire datagridview fichier

HarD-KinG -  
 Utilisateur anonyme -
Bonsoir,
Je viens à vous car après 3 jours de recherche je n'arrive toujours pas à faire ce que je veux faire.
Mon but est de pouvoir récupérer les entrées faite par l'utilisateur dans le datagridview grâce à un bouton et de les écrire dans un simple fichier, puis de pouvoir récupérer ces données grâce à un autre boutons qui les afficherais dans le datagriedview en question (à la manière du "enregistrer sous ..." "ouvrir").
Suite à cela j'aimerai pouvoir faire des calcules avec les valeurs du tableau et les afficher dans une colonne.
Pouvez vous me renseigner s'il vous plait, je suis dans le flou total ! Merci et bonne soirée

2 réponses

  1. Utilisateur anonyme
     
    Bonjour,

    Il existe plusieurs façon ...

    Voici un exemple brut :

    Pour les colonnes du DGV tu crée une [ Entité ]

    Ensuite tu crée une classe Liste de ce type d'entité.

    Et pour terminer, tu affecte cette liste à un objet BindingSource,

    il ne reste qu'a lire et écrire dans la liste !

    Ex.:

    La classe Entité
    Public Class Entite   
    
     Private zNom As String = String.Empty   
     Private zPrenom As String = String.Empty   
    
     Public Property Nom() As String   
      Get   
       Return Me.zNom   
      End Get   
      Set(ByVal value As String)   
       Me.zNom = value   
      End Set   
     End Property   
    
     Public Property Prenom() As String   
      Get   
       Return Me.zPrenom   
      End Get   
      Set(ByVal value As String)   
       Me.zPrenom = value   
      End Set   
     End Property   
    
     Public Sub New()   
    
     End Sub   
    
    End Class   
    


    La classe Liste
    Public Class CollectionEnt   
     Inherits List(Of Entite)   
    
     Public Sub New()   
    
     End Sub   
    End Class   
    


    Dans le formulaire :

    <ocde>
    Private Sub Lire()

    Dim LaListe As List(Of Entite) = New List(Of Entite)

    LaListe = LectureFichier ' Voir second message

    Me.bsListe.DataSource = GetType(Entite)
    Me.bsListe.DataSource = LaListe
    Me.DGV_Donnees.DataSource = bsListe

    End Sub

    Private Sub Ecrire()

    EcrireFichier ' Voir second message

    End Sub
    </code>

    Cdt

    Lupin
    0
  2. Utilisateur anonyme
     
    Bonjour,

    Suite :

    Voici le code pour l'appel à le lecture et l'écriture :

    Private Function LectureFichier() As List(Of Entite)
    
    	Dim Chemin As String = Application.ExecutablePath
    	Dim Position As Int32 = Chemin.LastIndexOf("\")
    	Dim Dossier As String = Chemin.Substring(0, (Position + 1))
    
    	Dim LeFichier As StreamReader = File.OpenText(Dossier & "spitab.txt")
    
    	Dim LaListe As New CollectionEnt
    	Dim EntY As Entite
    	Dim Chaine As String = String.Empty
    
    	Do Until LeFichier.Peek = -1
    		Chaine = LeFichier.ReadLine
    		EntY = New Entite
    		EntY.Prenom = Chaine.Substring(0, Chaine.LastIndexOf(" ")).Trim
    		EntY.Nom = Chaine.Substring(Chaine.LastIndexOf(" ")).Trim
    		LaListe.Add(EntY)
    	Loop
    
    	LeFichier.Close()
    
    	Return LaListe
    
    End Function
    
    Public Sub EcrireFichier()
    
    	Dim Chemin As String = Application.ExecutablePath
    	Dim Position As Int32 = Chemin.LastIndexOf("\")
    	Dim Dossier As String = Chemin.Substring(0, (Position + 1))
    	Dim NomFichier As String = Dossier & "monfichier.txt"
    
    	Dim LeFichier As New StreamWriter(NomFichier, True)
    
    	For Each EntX As Entite In bsListe
    		LeFichier.WriteLine(String.Format("{0}{1}{2}",EntX.Prenom," ",EntX.Nom)
    	Next
    
    	LeFichier.Close()
    
    End Sub
    


    Cdt

    Lupin
    0
    1. Utilisateur anonyme
       
      re:

      J'ai fait une petite erreur :

      Dim LeFichier As StreamReader = File.OpenText(Dossier & "spitab.txt")

      devrait se lire :

      Dim LeFichier As StreamReader = File.OpenText(Dossier & "monfichier.txt")

      Lupin
      0