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 :

Mise à jour datagridview depuis différentes fenêtres


Sujet :

Windows Forms

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    61
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 61
    Points : 33
    Points
    33
    Par défaut Mise à jour datagridview depuis différentes fenêtres
    Bonjour,
    je rencontre un problème pour mettre a jour mon datagrid view.

    Dans mon application j'ai une fenêtre principale (fenetre1) sur laquelle on trouve le datagridview (datagridview1), une combobox (combobox1) pour filtrer les enregistrements en fonction de l'année saisie et un bouton (bouton1) pour modifier les enregistrements.

    Au niveau des macros sub, j'en ai une d'affectée lorsque l'on sélectionne une autre valeur dans la combo, celle-ci appelle une procedure publique (MAJ_Datagridview1) dans la même classe qui permet d'aller d'effectuer une requête via mysql, d'effacer le contenu existant du datagridview et de remplir avec le résultat de cette requête. Pour cette partie il n'y a aucun pb.

    Par contre le bouton me permettant d'apporter des modifications dans ma base de données ouvre une boite de dialogue (fenetre2) dans laquelle je rentre les modifs à apporter. Une fois le bouton ok pressé, la mise à jour de la base de données s'effectue correctement puis j'appelle la même procédure qu'auparavant mais cette fois-ci en faisant référence à son emplacement Fenetre1.MAJ_Datagridview1 pour recharger le datagridview et là cela ne fonctionne pas.

    Si necessaire, j'ai fait un zip avec mon projet simplifié le programme ne marchera pas car il nécessite une base MySQL Spécifique, mais vous aurez accès au code et aux boites de dialogue.
    Le problème a lieu dans le code de la boite de dialogue "Dialog1"
    Fichier exemple


    Je n'ai aucune erreur lors de la compilation, je ne comprends pas pourquoi cela ne fonctionne pas. Pouvez-vous m'aider s'il vous plait?

    Merci d'avance

  2. #2
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    61
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 61
    Points : 33
    Points
    33
    Par défaut
    Pas d'idées?
    Peut être que je n'ai bien expliqué mon problème?

  3. #3
    Expert confirmé
    Avatar de Kropernic
    Homme Profil pro
    Analyste / Programmeur / DBA
    Inscrit en
    Juillet 2006
    Messages
    3 932
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : Belgique

    Informations professionnelles :
    Activité : Analyste / Programmeur / DBA
    Secteur : Distribution

    Informations forums :
    Inscription : Juillet 2006
    Messages : 3 932
    Points : 4 239
    Points
    4 239
    Par défaut
    poste ton code sur le forum, ce sera plus facile...
    Kropernic

  4. #4
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    61
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 61
    Points : 33
    Points
    33
    Par défaut
    OK alors je vais encore simplifier les choses:

    J'ai une première form nommée "Form1" qui contient un DataGridView nommé "DataGridView1", ce dernier se remplit automatiquement au chargement du form via une requête MySQL.... je ne mets pas le code car il n'y a aucun intérêt ici, puisque cela fonctionne.

    Sur cette form1, j'ai aussi un bouton nommé Bouton1 qui me lance une form2 pour éditer les enregistrements du datagridview, le code:
    ------Jusqu'ici tout marche bien------


    Sur la form2, j'ai un bouton à partir duquel je souhaiterais effacer le contenu du datagridview1 qui est sur la form1.

    Voici donc le code attaché au bouton
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    Private Sub Bouton1_Click (ByVal sender as System.Object, ByVal e As System.EventArgs) Handles Bouton1.Click
    Form1.DataGridView1.Rows.Clear()
    End Sub
    Mais bien que la procédure se lance, le DataDrigView1 ne se vide pas!

    Voilà le problème, j'espère que vous pourrez me sortir de cette impasse

    Merci d'avance

  5. #5
    Expert confirmé
    Avatar de Kropernic
    Homme Profil pro
    Analyste / Programmeur / DBA
    Inscrit en
    Juillet 2006
    Messages
    3 932
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : Belgique

    Informations professionnelles :
    Activité : Analyste / Programmeur / DBA
    Secteur : Distribution

    Informations forums :
    Inscription : Juillet 2006
    Messages : 3 932
    Points : 4 239
    Points
    4 239
    Par défaut
    Je présume donc que tu remplis le datagridview via sa propriété datasource (du moins j'espère ^^).

    Pour le vider, affecte nothing à datasource ou bien un dataset vide...
    Kropernic

  6. #6
    xeo
    xeo est déconnecté
    Nouveau membre du Club
    Inscrit en
    Juin 2003
    Messages
    42
    Détails du profil
    Informations forums :
    Inscription : Juin 2003
    Messages : 42
    Points : 32
    Points
    32
    Par défaut
    essaie peut-être un petit :
    apres ton :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Form1.DataGridView1.Rows.Clear()
    gnarf gnarf

  7. #7
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    61
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 61
    Points : 33
    Points
    33
    Par défaut
    Vous m'avez permis de m'interroger sur un point
    En fait, en souhaitant simplifier les choses, j'en ai oublié une importante

    ma Form1 est créée à partir d'un modèle "Form", de cette façon:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Dim Form1 As New Form
    Form1.Show()

    J'ai donc résolu le problème en appelant ma form directement:
    et non en en créant une copie
    puis en associant
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Form.DataGridView1.Rows.Clear()
    au bouton de ma Form2

    Merci à vous deux

    Par contre par curiosité, je souhaiterais savoir comment il faut faire pour accéder aux contrôles d'une form (depuis n'importe quel endroit de mon application) losqu'elle est créée comme je l'ai dit précédemment, à savoir
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Dim Form1 As New Form
    Form1.Show()
    Le problème que Form1 est défini dans une Public Sub et une Public Class mais il m'est impossible d'y accéder depuis d'autres form comme-ci Form1 n'était pas défini...

  8. #8
    xeo
    xeo est déconnecté
    Nouveau membre du Club
    Inscrit en
    Juin 2003
    Messages
    42
    Détails du profil
    Informations forums :
    Inscription : Juin 2003
    Messages : 42
    Points : 32
    Points
    32
    Par défaut
    Citation Envoyé par Machine Head Voir le message
    Le problème que Form1 est défini dans une Public Sub et une Public Class mais il m'est impossible d'y accéder depuis d'autres form comme-ci Form1 n'était pas défini...
    Citation Envoyé par Machine Head Voir le message
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Dim Form1 As New Form
    Form1.Show()

    Dans ton exemple de code ta form est déclaré avec un dim et pas avec un public...
    Donc elle ne pourra pas etre accessible depuis une autre form.
    gnarf gnarf

  9. #9
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    61
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 61
    Points : 33
    Points
    33
    Par défaut
    OK c'est compris....
    Merci beaucoup de votre aide

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Mise à jour SQL depuis un DATAGRIDVIEW et TXTBOX
    Par guilld dans le forum Développement Windows
    Réponses: 1
    Dernier message: 02/06/2015, 14h20
  2. Réponses: 1
    Dernier message: 04/02/2008, 21h35
  3. Mise à jour DatagridView
    Par nico71 dans le forum VB.NET
    Réponses: 2
    Dernier message: 05/11/2007, 15h10
  4. Mise à jour table depuis autre table
    Par dual77 dans le forum Requêtes
    Réponses: 9
    Dernier message: 04/01/2007, 21h01
  5. [VB.NET 2.0] Mise à jour contrôle depuis xml
    Par nicolb dans le forum ASP.NET
    Réponses: 2
    Dernier message: 20/04/2006, 09h21

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