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 :

Mettre à jour DataGridView dont le DataSource est une relation.


Sujet :

Windows Forms

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Inscrit en
    Janvier 2007
    Messages
    56
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Janvier 2007
    Messages : 56
    Par défaut Mettre à jour et filtrer DataGridView dont le DataSource est une relation.
    Bonjour tout le monde.
    J'ai 2 DataGridView (une maître "TblPersonnelDataGridView" et l'autre détail "TblCongésDataGridView" filtrée par une ComboBox "cboAnnée") :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     Private Sub frmCongés_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
            TblPersonnelDataGridView.DataSource = TblPersonnelBindingSource
            TblCongésDataGridView.DataSource = reltblPersonnelreqtblCongésBindingSource
            cboAnnée.DataSource = ReqtblCongésBindingSource
            cboAnnée.DisplayMember = "Année"
     
            Me.ReqtblCongésTableAdapter.Fill(Me.GRHDataSet1.reqtblCongés)
            Me.TblPersonnelTableAdapter.Fill(Me.GRHDataSet1.tblPersonnel)
        End Sub
    Je filtre ma TblCongésDataGridView par la ComboBox :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Private Sub cboAnnée_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cboAnnée.SelectedIndexChanged
            reltblPersonnelreqtblCongésBindingSource.Filter = "Année = '" & cboAnnée.Text & "'"
        End Sub
    Le problème est que je n'arrive pas à mettre à jour la TblCongésDataGridView lorsque je modifie ses cellules et que je clique sur le bouton TblCongésBindingNavigatorSaveItem, puisque la relation ne possède pas d'événement Update! J'essaie donc de faire ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Private Sub TblCongésBindingNavigatorSaveItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TblCongésBindingNavigatorSaveItem.Click
            Me.Validate()
            TblCongésBindingSource.EndEdit()
            Me.TblCongésTableAdapter.Update(Me.GRHDataSet1.tblCongés)
          '  GRHDataSet1.AcceptChanges()
    End Sub
    Mais ça marche pas.
    J'attend votre aide s'il vous plaît.

  2. #2
    Membre confirmé
    Inscrit en
    Novembre 2007
    Messages
    58
    Détails du profil
    Informations forums :
    Inscription : Novembre 2007
    Messages : 58
    Par défaut
    ajouter mon ami cette ligne de code

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     'TODO : cette ligne de code charge les données dans la table 'DatabaseDataSet.matable'. Vous pouvez la déplacer ou la supprimer selon vos besoins.
                        Form.matableTableAdapter.Fill(Form.Database1DataSet1.matable)


    matable c'est la table qui remplit datagridview

  3. #3
    Membre averti
    Homme Profil pro
    Inscrit en
    Janvier 2007
    Messages
    56
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Janvier 2007
    Messages : 56
    Par défaut
    Merci pour ta réponse Matrixdine, mais malheureusement ça marche pas.
    le problème est que les données que je fais entrer ne s'enregistrent peut être pas dans la base de donnée Access.

  4. #4
    Membre Expert
    Avatar de olsimare
    Inscrit en
    Décembre 2006
    Messages
    1 184
    Détails du profil
    Informations forums :
    Inscription : Décembre 2006
    Messages : 1 184
    Par défaut
    Bonjour.

    As-tu un commandbuilder sur l'adapter ?

    Cdt.

  5. #5
    Membre averti
    Homme Profil pro
    Inscrit en
    Janvier 2007
    Messages
    56
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Janvier 2007
    Messages : 56
    Par défaut
    olsimare
    Bonjour.

    As-tu un commandbuilder sur l'adapter ?

    Cdt.
    A vrai dire, je suis débutant et j'ai pas compris la question.
    Mais j'ai utilisé le concepteur si c'est de ça que vous parlez.

  6. #6
    Membre Expert
    Avatar de olsimare
    Inscrit en
    Décembre 2006
    Messages
    1 184
    Détails du profil
    Informations forums :
    Inscription : Décembre 2006
    Messages : 1 184
    Par défaut
    bonjour.

    Non pas vraiment, je parlais d'un truc du style :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    Private Sub TblCongésBindingNavigatorSaveItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TblCongésBindingNavigatorSaveItem.Click
            Me.Validate()
            TblCongésBindingSource.EndEdit()
            Dim cmdBuilder As New OleDbCommandBuilder(Me.TblCongésTableAdapter)
             Me.TblCongésTableAdapter.Update(Me.GRHDataSet1.tblCongés)
          '  GRHDataSet1.AcceptChanges()
    End Sub
    Cdt.

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

Discussions similaires

  1. Module dont le nom est une variable
    Par Mr Hyde dans le forum Général Python
    Réponses: 11
    Dernier message: 26/02/2023, 20h39
  2. Réponses: 3
    Dernier message: 08/01/2010, 16h13
  3. Réponses: 4
    Dernier message: 27/02/2009, 14h57
  4. VB6 Connection à une base de données dont la source est une adresse url
    Par yangoal25 dans le forum VB 6 et antérieur
    Réponses: 1
    Dernier message: 13/11/2006, 18h47
  5. Instancier une classe dont le nom est une variable
    Par bendev dans le forum Langage
    Réponses: 1
    Dernier message: 06/11/2006, 06h01

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