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

Windows Forms Discussion :

Problème d’actualisation des données dans un formulaire


Sujet :

Windows Forms

  1. #1
    Membre du Club
    Profil pro
    Étudiant
    Inscrit en
    Juin 2006
    Messages
    104
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France, Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2006
    Messages : 104
    Points : 58
    Points
    58
    Par défaut Problème d’actualisation des données dans un formulaire
    Bonjour,

    Je charge les données d'une base de données dans un listview d'un formulaire windows.
    J'ai un bouton qui me permet d'ajouter des données dans la table (cela fonctionne)

    En revanche je n'arrive pas à rafraîchir mon listview sans avoir besoin de le fermer.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Me.T_SleevesTableAdapter.Fill(Me.DataSet.T_Sleeves)
    Concrètement il me faut forcer l’événement activated de ma form pour que ma listview se mette à jour
    Comment forcer cet événement ? ou quelle est la meilleur façon de procéder dans ce cas? je sèche un peu...

    (J'ai reussi avec une msgbox mais je voudrais que cela soit transparent pour l'utilisateur)

    Merci pour votre aide

  2. #2
    Expert confirmé
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Novembre 2009
    Messages
    2 025
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Novembre 2009
    Messages : 2 025
    Points : 5 462
    Points
    5 462
    Par défaut
    Tu peux utiliser la methode Update() de la grille.

  3. #3
    Membre du Club
    Profil pro
    Étudiant
    Inscrit en
    Juin 2006
    Messages
    104
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France, Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2006
    Messages : 104
    Points : 58
    Points
    58
    Par défaut
    Citation Envoyé par micka132 Voir le message
    Tu peux utiliser la methode Update() de la grille.
    Merci d'avoir pris le temps de mé répondre.
    Même résultat...

    En fait quand je clique sur un bouton j'ai le code ci-dessous qui s'execute :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Insérer_Dans_Table("[T_Lien_Internet]", "[Clé],[Nom],[URL]", Label_Clé.Text & "','" & Mise_En_Forme_Variable(valeur2) & "','" & Mise_En_Forme_Variable(valeur))
    'MsgBox("ok")
    actualiser_Internet()
    Charger_Sites_Internet()
    Insérer_Dans_Table = fonction d'ajout de données dans ma table
    actualiser_Internet = fonction de mise à jour du dataadapter

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Sub actualiser_Internet()
    Me.T_Jeux_Lien_InternetTableAdapter.Fill(Me.LudothequeDataSet.T_Jeux_Lien_Internet)
    End Sub
    Charger_Sites_Internet() = fonction de chargement de ma listview avec les données de la table.

    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
    Sub Charger_Sites_Internet()
    ListView_Internet.Items.Clear()
    If Not Label_Clé.Text = "" Then
    Dim table As DataTable = LudothequeDataSet.Tables("T_Lien_Internet")
    Dim expression As String
    expression = "[CléJeu] = '" & Label_Clé.Text & "'"
    Dim foundRows() As DataRow
    foundRows = table.Select(expression)
     
    Dim i As Integer
    For i = 0 To foundRows.GetUpperBound(0)
    Dim Nom As String
    Dim URL As String
    Nom = foundRows(i)("Nom")
    URL = foundRows(i)("URL")
    ListView_Internet.Items.Add(Nom)
    ListView_Internet.Items.Item(0).SubItems.Add(URL)
    Next i
    End If
    End Sub

    Bref... cela fonctionne en décalé, si j'insère une valeur je n'ai rien dans ma listview, lors de l'ajout de la seconde valeur j'ai la première etc...
    Surement tout bête le souci mais je bloque...

    cela fonctionne si j'active la msgbox dans le code du bouton...

  4. #4
    Expert confirmé
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Novembre 2009
    Messages
    2 025
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Novembre 2009
    Messages : 2 025
    Points : 5 462
    Points
    5 462
    Par défaut
    Essaye un Update(), suivit d'un Refresh()

  5. #5
    Membre du Club
    Profil pro
    Étudiant
    Inscrit en
    Juin 2006
    Messages
    104
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France, Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2006
    Messages : 104
    Points : 58
    Points
    58
    Par défaut
    Même résultat (je vais devenir fou)

    Sans doute que j'applique pas au bon endroit... qu'entend tu par grille?

  6. #6
    Expert confirmé
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Novembre 2009
    Messages
    2 025
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Novembre 2009
    Messages : 2 025
    Points : 5 462
    Points
    5 462
    Par défaut
    Citation Envoyé par skaraa Voir le message
    Même résultat (je vais devenir fou)

    Sans doute que j'applique pas au bon endroit... qu'entend tu par grille?
    Ben ta ListView_Internet ? C'est bien elle qui ne se mets pas à jour?

  7. #7
    Membre du Club
    Profil pro
    Étudiant
    Inscrit en
    Juin 2006
    Messages
    104
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France, Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2006
    Messages : 104
    Points : 58
    Points
    58
    Par défaut
    C'est bien ça, donc je confirme même résultat...

  8. #8
    Membre du Club
    Profil pro
    Étudiant
    Inscrit en
    Juin 2006
    Messages
    104
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France, Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2006
    Messages : 104
    Points : 58
    Points
    58
    Par défaut
    EN fait je pense que c'est "normal" que ma listview ne soit pas à jour.

    Car
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    foundRows.GetUpperBound(0)
    retourne l'ancien index (dans la fonction Charger_Sites_Internet() plus haut donc c'est comme si ma table ne actualisait pas malgrés

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Me.T_Jeux_Lien_InternetTableAdapter.Fill(Me.LudothequeDataSet.T_Jeux_Lien_Internet)
    Mais pourquoi ce comportement? qu'est ce je rate... (Je rappelle qu'une msgbox placé juste avant corrige ce problème mais j’espère ne pas avoir à écrire une message-box a chaque modification de ma table ...

    comment forcer le rafraîchissement? ou de quoi?

    Merci pour votre aide.

Discussions similaires

  1. Réponses: 4
    Dernier message: 09/10/2011, 13h22
  2. Réponses: 1
    Dernier message: 15/12/2006, 14h04
  3. C# - Affichage des données dans un formulaire
    Par paradeofphp dans le forum Windows Forms
    Réponses: 6
    Dernier message: 25/07/2006, 19h23
  4. Réponses: 3
    Dernier message: 07/07/2006, 16h06
  5. Réponses: 6
    Dernier message: 15/02/2006, 14h02

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