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

Accès aux données Discussion :

[VB.Net 2.0/DataGridView/Binding] Comment modifier un champ à l'ajout d'une ligne ?


Sujet :

Accès aux données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    Coordinateur Qualité
    Inscrit en
    Avril 2002
    Messages
    62
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : Belgique

    Informations professionnelles :
    Activité : Coordinateur Qualité
    Secteur : Conseil

    Informations forums :
    Inscription : Avril 2002
    Messages : 62
    Par défaut
    Bonjour,

    La situation:
    J'ai une table Voiture comprenant les champs suivants:
    Id (Guid) (Primary Key)
    Plaque (String)

    J'ai une table Location comprenant les champs suivants:
    Id (Guid) (Primary Key)
    Date (DateTime)
    IdVoiture (Guid) (Foreign Key sur Voiture.Id)

    J'ai un composant LocationBindingSource avec DataSource = myTypedDataSet et DataMember = Location.

    J'ai un DataGridView avec DataSource = LocationBindingSource.

    J'utilise la propriété Filter du BindingSource pour filter les locations en fonction de la voiture sélectionnée dans un ComboBox.

    Ma question:
    Lorsque j'ajoute une nouvelle Location via mon composant DataGridView, j'aimerais que la nouvelle LocationRow aie son champ IdVoiture défini via programmation. Quelqu'un pourrait-il me dire quel événement je dois traiter ? J'ai essayé avec BindingSource.AddingNew mais je ne m'en suis pas sorti.

    Je viens de lire que ce n'était pas possible via AddingNew.

    Merci à qui pourra m'aider...
    Vonotar.

  2. #2
    Membre confirmé
    Homme Profil pro
    Coordinateur Qualité
    Inscrit en
    Avril 2002
    Messages
    62
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : Belgique

    Informations professionnelles :
    Activité : Coordinateur Qualité
    Secteur : Conseil

    Informations forums :
    Inscription : Avril 2002
    Messages : 62
    Par défaut
    Finalement, je passe par l'événement UserAddedRow du DataGridView. Je ne suis pas sûr que ce soit la méthode la plus appropriée mais elle a le mérite de fonctionner.

    Mon code:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    Private Sub grdLocation_UserAddedRow(ByVal sender As Object, ByVal e
     As System.Windows.Forms.DataGridViewRowEventArgs) Handles
     grdLocation.UserAddedRow
     
            Me.VoitureBindingSource.EndEdit()
            DirectCast(DirectCast(Me.LocationBindingSource.Current,
     DataRowView).Row, dsCarFleet.LocationRow).IdVoiture = DirectCast
    (DirectCast(Me.VoitureBindingSource.Current, DataRowView).Row,
     dsCarFleet.VoitureRow).Id
     
    End Sub
    Tout commentaire confirmant ou infirmant ma solution est bien sûr le bienvenu.

    a+
    Vonotar

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

Discussions similaires

  1. [MySQL] Comment modifier un champ qui fait référence à une autre table ?
    Par geeka dans le forum PHP & Base de données
    Réponses: 4
    Dernier message: 04/08/2014, 12h51
  2. [VB.NET]Comment modifier un textbox a partir d'une dll?
    Par Subkill dans le forum Général Dotnet
    Réponses: 5
    Dernier message: 21/01/2008, 21h38
  3. Comment modifier un champ quand le formulaire change?
    Par benjapar dans le forum VB 6 et antérieur
    Réponses: 7
    Dernier message: 15/03/2006, 23h01
  4. c# Comment modifier la couleur de fond d'une statusBar
    Par padodanle51 dans le forum Windows Forms
    Réponses: 1
    Dernier message: 06/03/2006, 17h36
  5. Comment modifier un champ dans une table liée ?
    Par HookerSeven dans le forum Access
    Réponses: 11
    Dernier message: 05/02/2006, 23h50

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