Enregistrer/sauvegarder les données d'une Listview

cs_aus3004 Messages postés 319 Date d'inscription jeudi 1 avril 2010 Statut Membre Dernière intervention 16 mars 2011 - 8 juil. 2010 à 13:41
cs_aus3004 Messages postés 319 Date d'inscription jeudi 1 avril 2010 Statut Membre Dernière intervention 16 mars 2011 - 9 juil. 2010 à 11:18
Bonjour à tous, développeurs chevronnés (hé hé...)

Je débute en vb.net (depuis 6 mois quand même ^^) et j'ai besoin de créer une listview qui sauvegarde les données quand on quitte le prog.

Comme mes connaissances dans le domaine des Listeviews sont à chier pas très grandes j'ai cherché sur le web et j'ai trouvé ce code :
Dim StringCol As New Specialized.StringCollection

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim item1 As New ListViewItem

'//Add Items with Sub Items
item1 = New ListViewItem("orange")
item1.SubItems.Add("pomme")
item1.SubItems.Add("ananas")
ListView1.Items.Add(item1)
item1 = New ListViewItem("chemise")
item1.SubItems.Add("froc")
item1.SubItems.Add("chaussure")
ListView1.Items.Add(item1)
item1 = New ListViewItem("anglais")
item1.SubItems.Add("francais")
item1.SubItems.Add("espagnol")
ListView1.Items.Add(item1)

'//Iterate Through a String Collection to add final author only Items
For Each s As String In StringCol
ListView1.Items.Add(s)
Next
End Sub

Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
ListView1.View = View.Details
ListView1.Columns.Add("colonne1", -2, HorizontalAlignment.Center)
ListView1.Columns.Add("colonne2", -2, HorizontalAlignment.Left)
ListView1.Columns.Add("colonne3", -2, HorizontalAlignment.Left)
'//Setup a String Collection - for final Author Only Records
StringCol.Add("ABC")
StringCol.Add("123")
StringCol.Add("jhfds")
StringCol.Add("XYZ")
End Sub

Je trouve que c'est quand même une bonne piste, mais je pige que dalle au code, et j'aimerais qu'on m'explique comment il fonctionne et si il pourrait servir.

Bien sûr, si vous avez un autre code à proposer il ne sera pas de refus.

Cimer & à bientôt !

Ma LV2 c'est le Visual Basic, et toi ?

9 réponses

cs_Jack Messages postés 14006 Date d'inscription samedi 29 décembre 2001 Statut Modérateur Dernière intervention 28 août 2015 79
8 juil. 2010 à 17:27
Salut
Le plus simple est de stocker les infos de cette ListView dans un fichier texte.
Imaginons qu'on mette sur une même ligne les textes de l'item suivi des SubItems, tous séparés par des tabulation, et qu'on passe à la ligne pour chaque Item de la ListView.

Tu n'as donc plus qu'à trouver comment faire ces trois tâches faciles :
- Apprendre à ouvrir un fichier texte, à écrire et à lire dedans
- Apprendre à énumérer tous les Items d'une ListView
- Apprendre à énumérer tous les SubItem d'un Item de ListView.
Point de départ : l'aide du logiciel
Ensuite, les codes en .Net du site que tu trouveras facilement avec
"ouvrir fichier texte"
"énumérer listview" ...

Vala
Jack, MVP VB
NB : Je ne répondrai pas aux messages privés

Le savoir est la seule matière qui s'accroit quand on la partage (Socrate)
0
cs_aus3004 Messages postés 319 Date d'inscription jeudi 1 avril 2010 Statut Membre Dernière intervention 16 mars 2011 1
8 juil. 2010 à 18:14
Merci Jack, en effet il assez simple d'enregistrer les données dans un fichier texte mais dans mon programme elles sont très sensibles (mot de passe, id...).
Dans ce cas faudrait les crypter dans le fichier texte et à ce moment là, ca doit être plus simple de trouver un moyen de les enregistrer dans My.Settings...

Si tu ne fais pas de commentaire sur le code, c'est qu'il doit être moisis, mais ce ne m'étonne pas

PS : bravo pour ton 10 001 message

Ma LV2 c'est le Visual Basic, et toi ?
0
Profil bloqué
8 juil. 2010 à 18:36
Salut
Une adresse intéressante pour VB Net : c'est mon livre de chevet virtuel
http://plasserre.developpez.com/cours/vb-net/

La théorie, c'est quand on sait tout et que rien ne fonctionne. La pratique, c'est quand tout fonctionne et que personne ne sait pourquoi.

GRENIER Alain
0
cs_aus3004 Messages postés 319 Date d'inscription jeudi 1 avril 2010 Statut Membre Dernière intervention 16 mars 2011 1
8 juil. 2010 à 19:22
Ouai merci t'inquiete pas moi aussi je suis fan de developpez.com (mais moins que vbfrance bien sûr )

C'est bizard, je croyais que c'était simple de sauvegarder les valeurs d'une Listeview... c'est pourtant indispensable !?




Ma LV2 c'est le Visual Basic, et toi ?
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_Jack Messages postés 14006 Date d'inscription samedi 29 décembre 2001 Statut Modérateur Dernière intervention 28 août 2015 79
8 juil. 2010 à 19:33
Pour le code, en fait, je ne suis pas très pointu en .Net et je ne connais pas les Specialized.StringCollection mais c'est surement très bien !

10.000 ème message : pourtant, j'avais dit que j'y ferais attention.
Faut que je retrouve qui a eu cet honneur.
0
cs_Jack Messages postés 14006 Date d'inscription samedi 29 décembre 2001 Statut Modérateur Dernière intervention 28 août 2015 79
8 juil. 2010 à 19:34
Ah bah, c'est toi !
0
cs_aus3004 Messages postés 319 Date d'inscription jeudi 1 avril 2010 Statut Membre Dernière intervention 16 mars 2011 1
8 juil. 2010 à 20:06
Nan, cet honneur ne me reviens pas... à 1 message près

Ton 1er message de ce post était le 10 001 donc ... C PAS MOI !!!!!

Il faut mener l'enquête pour savoir qui ai l'heureux élue


Ma LV2 c'est le Visual Basic, et toi ?
0
cs_Le Pivert Messages postés 7903 Date d'inscription jeudi 13 septembre 2007 Statut Contributeur Dernière intervention 11 mars 2024 137
9 juil. 2010 à 08:30
Bonjour,
Tout dépend de la façon dont la listview est chargée.Dans mon programme:
http://www.vbfrance.com/codes/LISTVIEW_TRI_EXTENSIONS_50894.aspx
la listview est chargée en fonction du chemin des dossiers. Il suffit donc de mettre la propriété Paramètre Setting "Text" au label qui reçoit les données du chemin. Ensuite on appelle la Sub qui rempli la listview à l'ouverture, j'ai essayé et cela fonctionne
Si cela peut t'aider?

@+
Le Pivert
0
cs_aus3004 Messages postés 319 Date d'inscription jeudi 1 avril 2010 Statut Membre Dernière intervention 16 mars 2011 1
9 juil. 2010 à 11:18
Salut Le Pivert, j'ai regardé ta source mais c'est complètement different car ca supprime ou modifie des fichiers "existants" alors que j'aurais besoin de traiter des données (texte).

Sinon, ton prog est très interessant, j'ai amélioré certaines choses sur mon soft mais je suis toujours bloqué pour enregistrer ces valeurs dans My.Settings.

...


Ma LV2 c'est le Visual Basic, et toi ?
0
Rejoignez-nous