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 :

Rafraichir une Listview


Sujet :

VB.NET

  1. #1
    Membre régulier
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2008
    Messages
    78
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Septembre 2008
    Messages : 78
    Points : 86
    Points
    86
    Par défaut Rafraichir une Listview
    Bonjour à tous,

    Je vous présente mon problème :

    Je développe une application avec Visual Basic 2012 Express dans laquelle j'enregistre des données par l'intermédiaire de TextBox et à l'aide d'un bouton "Enregistrer".

    Lors du clic sur ce bouton, voici ce qu'il se passe :

    - Enregistrement des données dans une base de données Access
    - rechargement des données pour que la ListView dans laquelle sont affichées les données soit rafraîchie mais cela ne fonctionne pas!

    Dans pas mal d'applications que j'ai développé j'ai ce genre de code et je ne me rappelle pas avoir rencontré ce problème!
    J'ai testé d'autres événements sur le bouton (MouseDown etc) mais rien ne fonctionne pas.

    Merci de votre aide.

  2. #2
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2013
    Messages
    98
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2013
    Messages : 98
    Points : 41
    Points
    41
    Par défaut
    Essaie de faire :

    ListView1.Clear
    'Recrée tes colonnes
    'Load la ListView

    Sa va tout supprimer, ré-créer les colonnes, et charger les items.

  3. #3
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Points : 39 749
    Points
    39 749
    Par défaut
    Citation Envoyé par helio500 Voir le message
    - rechargement des données pour que la ListView dans laquelle sont affichées les données soit rafraîchie mais cela ne fonctionne pas!
    Si tu donnes pas plus de détails on va avoir du mal à t'aider...
    - que signifie "ne fonctionne pas" ? il se passe quoi exactement ? Rien ? Une erreur ? Si oui, quelle erreur ?
    - Quel code as-tu utilisé ?

  4. #4
    Membre régulier
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2008
    Messages
    78
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Septembre 2008
    Messages : 78
    Points : 86
    Points
    86
    Par défaut
    Bonjour à tous,
    Je remonte le problème car il n'est toujours pas réglé.
    Je vais vous donner le plus d'information possible :

    J'ai un bouton "Enregistrer" dans un formulaire Interventions et des TextBox ou ComboBox pour récupérer les valeurs des champs, voici le code sur l'évènement click :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Private Sub Enregistrer_Click(sender As Object, e As EventArgs) Handles Enregistrer.Click
    	EnregInterventions(Champ1, Champ2, Champ3, Champ4, Champ5, Champ6)
    	Call FrmInterventions_Load(sender, e)
    End Sub
    Malgré l'appel de Call FrmInterventions_Load(sender, e), ma ListViewInter dans laquelle seront affichées les champ1, champ2 etc. n'est pas mise à jour,
    je dois fermer le formulaire Interventions et le relancer.
    En revanche si dans la procédure EnregInterventions je mets cette ligne de code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    MsgBox("Enregistrement en cours...")
    cela fonctionne mais je souhaiterais ne pas avoir ce msgbox.

    code de la procédure EnregInterventions :

    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
    Sub EnregInterventions (Champ1 As Integer, Champ2 As Integer, Champ3 As String, Champ4 As String, Champ5 As String, Champ6 As String)
            Dim conn As New ADODB.Connection
            Dim MonRs As New ADODB.Recordset
            Dim SQL As String
     
            conn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=C:\Documents\Database1.mdb;"
     
            conn.Open()
     
            SQL = "interventions"
     
            MonRs.Open(SQL, "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=C:\Documents\Database1.mdb;", CursorTypeEnum.adOpenKeyset, LockTypeEnum.adLockOptimistic)
     
            MonRs.AddNew()
            MonRs.Fields(1).Value = Champ1
            MonRs.Fields(2).Value = Champ2
            MonRs.Fields(3).Value = Champ3
            MonRs.Fields(4).Value = Champ4
            MonRs.Fields(5).Value = Champ5
            MonRs.Fields(6).Value = Champ6
     
            MonRs.Update()
     
            'MsgBox("Enregistrement en cours...")
     
            MonRs.Close()
            conn.Close()
     
    End Sub
    Code de FrmInterventions_Load :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    Private Sub FrmInterventions_Load(sender As Object, e As EventArgs) Handles MyBase.Load
    	ChargInterventions(ListViewInter)
    End Sub
    Code de ChargInterventions(ListViewInter) :

    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
    38
    39
    40
    Sub ChargInterventions(ListX As ListView)
     
            Dim conn As New ADODB.Connection
            Dim MonRs As New ADODB.Recordset
            Dim CptInter As Integer
     
            conn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=C:\Documents\Database1.mdb;"
     
            conn.Open()
     
            MonRs.Open("SELECT * FROM Interventions ORDER BY Interventions.Champ1 DESC", conn)
     
            With ListX
                .Clear()
                .View = View.Details
                .GridLines = True
                .FullRowSelect = True
            End With
     
            ListX.Columns.Add("Champ1", 125)
            ListX.Columns.Add("Champ2", 150)
            ListX.Columns.Add("Champ3", 50)
            ListX.Columns.Add("Champ4", 100)
            ListX.Columns.Add("Champ5", 100)
            ListX.Columns.Add("Champ6", 200)
     
            CptInter = 0
     
            While Not MonRs.EOF()
                Dim lv As ListViewItem = ListX.Items.Add(MonRs.Fields(1).Value)
                lv.SubItems.Add(MonRs.Fields(2).Value)
                lv.SubItems.Add(MonRs.Fields(3).Value)
                lv.SubItems.Add(MonRs.Fields(4).Value)
                lv.SubItems.Add(MonRs.Fields(5).Value)
                lv.SubItems.Add(" " + MonRs.Fields(6).Value)
                MonRs.MoveNext()
                CptInter = CptInter + 1
            End While
     
    End Sub
    Merci.

  5. #5
    Expert confirmé
    Avatar de wallace1
    Homme Profil pro
    Administrateur systèmes
    Inscrit en
    Octobre 2008
    Messages
    1 966
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Administrateur systèmes
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Octobre 2008
    Messages : 1 966
    Points : 4 005
    Points
    4 005
    Billets dans le blog
    7
    Par défaut
    Combien as tu de formulaires dans ton projet hormis frminterventions ??
    Il ne faut pas mettre "call Frminterventions" lorsque tu veux mettre a jour ton listview c est inutile et les arguments dans sa signature sont incorrectes.

  6. #6
    Membre régulier
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2008
    Messages
    78
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Septembre 2008
    Messages : 78
    Points : 86
    Points
    86
    Par défaut
    Mon application contient 1 formulaire MDI parent et 4 formulaires MDI enfants.

    Je viens de remplacer "Call FrmInterventions_Load" par la procédure ChargInterventions(ListViewInter), j'ai toujours le même souci.

    J'ai l'impression que les données n'ont pas le temps de s'enregistrer dans la base Access et que lors de la recharge, je n'ai pas encore les nouvelles données. Mais je ne vois pas d'où cela pourrait venir?

    Merci.

Discussions similaires

  1. Rafraichir des données d'une ListView
    Par anto2b dans le forum Composants graphiques
    Réponses: 2
    Dernier message: 03/07/2012, 16h42
  2. Comment rafraichir une listView contenue dans un tab?
    Par GroXx dans le forum Composants graphiques
    Réponses: 5
    Dernier message: 28/03/2011, 00h41
  3. Rafraichir une seule cellule dans une listView
    Par bonofred dans le forum Composants graphiques
    Réponses: 3
    Dernier message: 27/01/2011, 11h52
  4. Rafraichir une ListView
    Par gdeon dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 21/07/2008, 15h44
  5. Rafraichir une listview
    Par Sly2k dans le forum VB.NET
    Réponses: 5
    Dernier message: 02/08/2007, 15h28

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