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 :

Enregistrer valeur sélectionnée de combobox dans la dernière ligne de DataGridView.


Sujet :

Windows Forms

  1. #1
    Nouveau membre du Club
    Homme Profil pro
    Inscrit en
    Janvier 2007
    Messages
    56
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Janvier 2007
    Messages : 56
    Points : 35
    Points
    35
    Par défaut Enregistrer valeur sélectionnée de combobox dans la dernière ligne de DataGridView.
    Salut à tous. Mon problème est peut être simple, mais je parviens pas à le résoudre:
    J'ai une combobox indépendante "cboVilleCible" et une DataGridView "TblMouvementsDataGridView" liée à une table Access "TblMouvements".
    Ce que j'essaie de faire, c'est d'enregistrer chaque fois la valeur sélectionnée de ma combobox dans la dernière ligne vide de ma DataGridView. Voici mon code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    PrivateSub cboVilleCible_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cboVilleCible.SelectedIndexChanged
      TblMouvementsDataGridView.Item(4, TblMouvementsDataGridView.RowCount - 1).Value = cboVilleCible.Text
      MsgBox("Mutation effectuée avec succès.")
    EndSub
    Et j'enregistre comme suit:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    PrivateSub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
      Me.Validate()
      Me.TblMouvementsBindingSource.EndEdit()
      Me.TblMouvementsTableAdapter.Update(Me.GRHDataSet1.TblMouvements)
      GRHDataSet1.AcceptChanges()
    EndSub
    La valeur sélectionnée apparaît bien dans la dernière ligne de ma DataGridView, mais ne s'enregistre pas lorsque je ferme l'application. Ce qui est bizarre, c'est quand je clique sur cette dernière ligne, la valeur disparaît même avant de fermer le formulaire!
    Mais lorsque je précise une ligne particulière, ça marche! Par exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    PrivateSub cboVilleCible_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cboVilleCible.SelectedIndexChanged
     TblMouvementsDataGridView.Item(4, 2).Value = cboVilleCible.Text
    EndSub
    Est ce que j'indique mal la dernière ligne de la DataGridView ?
    J'attend votre aide.

  2. #2
    Nouveau membre du Club
    Homme Profil pro
    Inscrit en
    Janvier 2007
    Messages
    56
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Janvier 2007
    Messages : 56
    Points : 35
    Points
    35
    Par défaut C'est Fait !
    Salut à tous. Le problème était d'enregistrer des données sur la dernière ligne qui permet d'ajouter de nouveaux enregistrements!
    Ce que j'ai fait :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    Private Sub cboVilleCible_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cboVilleCible.SelectedIndexChanged
      ' Ajouter une nouvelle ligne pour éviter la non sauvegarde 
      ' relative à la dernière ligne :
      TblMouvementsTableAdapter.Insert(TblPersonnelDataGridView.Item(0, 0).Value, "", "", "")
      TblMouvementsDataGridView.Item(4, TblMouvementsDataGridView.RowCount - 1).Value = cboVilleCible.Text
      MessageBox.Show("Mutation effectuée avec succès.", "Mutation", MessageBoxButtons.OKCancel, MessageBoxIcon.Information)
      Me.Validate()
      Me.TblMouvementsBindingSource.EndEdit()
      Me.TblMouvementsTableAdapter.Update(Me.GRHDataSet1.TblMouvements)
    End Sub
    Et :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Private Sub frmMouvements_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) HandlesMyBase.Load
      Me.TblMouvementsTableAdapter.Fill(Me.GRHDataSet1.TblMouvements)
      ' Pour ne pas avoir 2 lignes vides lorsque j'insère une nouvelle ligne 
      ' lors du clic sur "cboVilleCible" :
      TblMouvementsDataGridView.AllowUserToAddRows = False
    End Sub
    Et ça marche .

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

Discussions similaires

  1. Inclure la valeur d'une combobox dans une requête
    Par GCAccess dans le forum Windows Forms
    Réponses: 7
    Dernier message: 15/10/2009, 09h18
  2. Réponses: 2
    Dernier message: 30/10/2008, 13h28
  3. Mettre la valeur d'une combobox dans une feuille Excel
    Par biche1 dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 23/10/2008, 13h56
  4. renvoyer la valeur d'un combobox dans un lien.
    Par ghis33 dans le forum Général JavaScript
    Réponses: 12
    Dernier message: 29/12/2007, 18h15
  5. Recupere la valeur d'une ComboBox dans une autre cellule
    Par Henricoo dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 01/06/2007, 13h56

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