Listview comment trouver la derniere ligne

Résolu/Fermé
mylord666 Messages postés 151 Date d'inscription jeudi 26 juin 2014 Statut Membre Dernière intervention 9 septembre 2015 - 19 févr. 2015 à 10:27
cs_Le Pivert Messages postés 7903 Date d'inscription jeudi 13 septembre 2007 Statut Contributeur Dernière intervention 11 mars 2024 - 21 févr. 2015 à 12:22
Bonjour
j'avance doucement sur ce thème et là big soucis
je voudrais charger un lisview par programme de façon a jouter une nouvelle ligne
je n'arrive pas à trouver le code pour la repérer qui peu m'aider merci d'avance
A voir également:

6 réponses

cs_Le Pivert Messages postés 7903 Date d'inscription jeudi 13 septembre 2007 Statut Contributeur Dernière intervention 11 mars 2024 728
19 févr. 2015 à 11:25
Bonjour,

Dans le site que je t'ai donné tu as tous les renseignements.
Fais moi le plaisir de le consulter stp!
Cela te fera gagner du temps!

'Autre syntaxe
 Dim MyLine As ListViewItem= New ListViewItem( New String() {"Lasserre","Philippe", "1951"})
 ListView1.Items.Add (MyLine)

0
mylord666 Messages postés 151 Date d'inscription jeudi 26 juin 2014 Statut Membre Dernière intervention 9 septembre 2015
19 févr. 2015 à 11:58
je n'avais compris ce chapitre excuse moi
0
mylord666 Messages postés 151 Date d'inscription jeudi 26 juin 2014 Statut Membre Dernière intervention 9 septembre 2015
19 févr. 2015 à 14:35
je viens d'essayer ton code cela fonctionne mais quand je veux ajouter une autre ligne cela écrit toujours sur la même ligne je trouve pas dans le dossier que tu m'as indiqué tu peux m'aiguiller merci d'avance
0
cs_Le Pivert Messages postés 7903 Date d'inscription jeudi 13 septembre 2007 Statut Contributeur Dernière intervention 11 mars 2024 728
19 févr. 2015 à 14:56
Je ne comprends pas, l'exemple qui est donné fonctionne très bien. A chaque fois que tu cliques sur le bouton une nouvelle ligne est ajoutée:

Public Class Form1
  Private Sub Form1_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load
        'Le ListView1 existe
        ListView1.View = View.Details

        ListView1.Columns.Add("Nom", 60, HorizontalAlignment.Left)
        ListView1.Columns.Add("Prénom", 60, HorizontalAlignment.Left)
        ListView1.Columns.Add("Année naissance", 60, HorizontalAlignment.Left)
    End Sub
    Private Sub Button1_Click(sender As System.Object, e As System.EventArgs) Handles Button1.Click
        Dim MyLine As ListViewItem = New ListViewItem(New String() {"Lasserre", "Philippe", "1951"})
        ListView1.Items.Add(MyLine)
    End Sub
End Class


Bien sur il faut changer les données sinon ce sont toujours les mêmes!
0
mylord666 Messages postés 151 Date d'inscription jeudi 26 juin 2014 Statut Membre Dernière intervention 9 septembre 2015
19 févr. 2015 à 15:34
merci de ton aide précieuse cela répond pas complétement à ma question
voilà j'ai un form contenant les les données que je renseigne dans des textbox et je voudrais que lorsque je click sur le bouton ajouter cela aille s'inscrire dans l'autre form qui contient le listview et changer de ligne chaque fois que je rentre de nouvelles données je rame complètement$
excuse moi de mon manque de précision dans mes questions
hé oui la vieillesse est là
0
cs_Le Pivert Messages postés 7903 Date d'inscription jeudi 13 septembre 2007 Statut Contributeur Dernière intervention 11 mars 2024 728
19 févr. 2015 à 16:39
Pour alimenter ta listView qui se trouve dans un autre Form il faut indiquer le nom du Form. comme ceci par exemple si c'est le Form2

 Private Sub Button1_Click(sender As System.Object, e As System.EventArgs) Handles Button1.Click
        Dim MyLine As ListViewItem = New ListViewItem(New String() {"Lasserre", "Philippe", "1951"})
       Form2.ListView1.Items.Add(MyLine)
    End Sub


A chaque fois que tu cliqueras sur le bouton cela ajoutera un ligne!
0
mylord666 Messages postés 151 Date d'inscription jeudi 26 juin 2014 Statut Membre Dernière intervention 9 septembre 2015
20 févr. 2015 à 08:29
merci
je viens de le tester cela fonctionne bien par contre il y a un petit soucis une fois alimenté le listview si je le ferme et que je reouvre tout est effacé comment faire pour le garder fixe là je sais pas faire
0
cs_Le Pivert Messages postés 7903 Date d'inscription jeudi 13 septembre 2007 Statut Contributeur Dernière intervention 11 mars 2024 728
20 févr. 2015 à 09:02
c'est un peu plus compliqué. Tu mets un fichier txt nommé: sauvegarde
dans le dossier où se trouve ton exe

Voici le code à mettre dans le Form où se trouve ta listview:


Déclaration

Dim bf As New System.Runtime.Serialization.Formatters.Binary.BinaryFormatter()


Pour enregistrer à la fermeture:

a adapter le nom du form

Private Sub Form1_FormClosing(ByVal sender As Object, ByVal e As System.Windows.Forms.FormClosingEventArgs) Handles Me.FormClosing
Using fs As New System.IO.FileStream("sauvegarde.txt", IO.FileMode.Create)
    bf.Serialize(fs, New ArrayList(ListView1.Items))
End Using
End sub


Pour récupérer à l'ouverture:

a adapter le nom du form

Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.LoadUsing 
fs As New System.IO.FileStream("sauvegarde.txt", IO.FileMode.Open)
ListView1.Items.AddRange(bf.Deserialize(fs).ToArray(GetType(ListViewItem)))
End Using
End sub

0
mylord666 Messages postés 151 Date d'inscription jeudi 26 juin 2014 Statut Membre Dernière intervention 9 septembre 2015
20 févr. 2015 à 09:49
je viens de recopier ces codes et j'ai une erreur sur le code de l'ouverture
sur
handles MyBase.loadUsing
j'obtiens l'erreur que ce n'est pas déclaré
Un GRAND merci pour ta patience envers moi je t'enverrais le programme une fois terminé le sujet calcul des glucides par repas et journalier
0
mylord666 Messages postés 151 Date d'inscription jeudi 26 juin 2014 Statut Membre Dernière intervention 9 septembre 2015
20 févr. 2015 à 09:59
je reviens de faire un essais la reponse est que LOADUSING est introuvable
0

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

Posez votre question
cs_Le Pivert Messages postés 7903 Date d'inscription jeudi 13 septembre 2007 Statut Contributeur Dernière intervention 11 mars 2024 728
20 févr. 2015 à 11:22
C'est lors de la copie qu'il y a eu une erreur:

  Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
  If File.Exists("sauvegarde.txt") Then
            Using fs As New System.IO.FileStream("sauvegarde.txt", IO.FileMode.Open)
                ListView1.Items.AddRange(bf.Deserialize(fs).ToArray(GetType(ListViewItem)))
            End Using
        End If
    End Sub

0
mylord666 Messages postés 151 Date d'inscription jeudi 26 juin 2014 Statut Membre Dernière intervention 9 septembre 2015
21 févr. 2015 à 11:38
merci encore de ton aide
cela fonctionne mais si je veux rouvrir la listvieuw après fermeture je n'obtient que le premier éléments les autre ne sont pas visibles et en plus cela se renseigne bien mais pas a la première ligne il y a un rand espace de lignes libres est ce normal . c'est intéressant mais compliqué cela me fait bien réfléchir et encore merci de ton aide si précieuse
bonne fin de semaine
0
cs_Le Pivert Messages postés 7903 Date d'inscription jeudi 13 septembre 2007 Statut Contributeur Dernière intervention 11 mars 2024 728
21 févr. 2015 à 12:18
Voici un exemple de listview avec sauvegarde. En le faisant je me suis aperçu d'un bug à la 1ére utilisation à l'ouverture. Il faut que tu supprimes à la 1ère ouverture dans l'evenement:

Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load


ceci:

 If File.Exists("sauvegarde.txt") Then
            Using fs As New System.IO.FileStream("sauvegarde.txt", IO.FileMode.Open)
                ListView1.Items.AddRange(bf.Deserialize(fs).ToArray(GetType(ListViewItem)))
            End Using
        End If


car comme le fichier est vide cela crée un bug. Ensuite quand tu as enregistré quelques chose dans le fichier il te suffit de le remettre et là cela fonctionnera. Ceci est valable pour ton projet!

Voici l'exemple à télécharger tu n'as rien a faire il est fonctionnel lui puisque déjà utilisé par mes soins:

http://www.cjoint.com/data3/3Bvmu20PSSO.htm
0
cs_Le Pivert Messages postés 7903 Date d'inscription jeudi 13 septembre 2007 Statut Contributeur Dernière intervention 11 mars 2024 728
21 févr. 2015 à 12:22
Fausse manip, nouveau lien:

http://www.cjoint.com/data3/3BvmHaj4XR9.htm
0