[vb.net] Lire et écrire datagridview fichier
HarD-KinG
-
Utilisateur anonyme -
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
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
-
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 ListePublic 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 -
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