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

VB.NET Discussion :

PB - Datagridview enfant dans form avec textbox parents - MAJ données


Sujet :

VB.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Chef de projet MOA
    Inscrit en
    Septembre 2012
    Messages
    36
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Chef de projet MOA
    Secteur : Santé

    Informations forums :
    Inscription : Septembre 2012
    Messages : 36
    Par défaut PB - Datagridview enfant dans form avec textbox parents - MAJ données
    Bonjour,

    Problème on ne peut plus classique :

    - Une Form avec des Textbox bindés sur une table maître (ça , ça roule)
    - Un Datagrid view qui Bind les enfants des données maîtres : ça semble rouler aussi.

    Le souci, que la source de données SQL enregistre les modifications enfants du Datagridview, et notamment les inserts qui ont besoin de champs cachés enfants, nécessaires pour le modèle relationnel enfants --> Parent.

    1) LECTURE

    Mon code actuel...

    Chargement des données, une fois la connexion établie (Load de la Form):
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
            StrSql = "Select TCLIENTS_CONTACTS.* From TCLIENTS_CONTACTS order by CCO_NOM Where CCO_IDCLI='" & IdMaitre & "';"
            ObjetCommand = New SqlCommand(StrSql)
            ObjetDataAdapter = New SqlDataAdapter(ObjetCommand)
            ObjetCommand.Connection() = ObjetConnection
            ObjetDataAdapter.Fill(ObjetDataset, "TCLIENTS_CONTACTS")
            ObjetDataTable = ObjetDataset.Tables("TCLIENTS_CONTACTS")
            MasterTemplate.DataSource = ObjetDataTable
    Le lien se fait donc sur une données 'code' : idMaitre. elle conserve la valeur active de l'enregistrement maître. L'affichage du datagridview se fait juste via un filtre du Datagridview (ça, ça me gêne quelque part que je doive utiliser un filtre pour respecter un modèle relationnel)

    Le Filtre :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
            If TXT0.Text Then IdMaitre = TXT0.Text
            MasterTemplate.FilterDescriptors.Clear()
            MasterTemplate.FilterDescriptors.Add(New FilterDescriptor("CCO_IDCLI", FilterOperator.IsEqualTo, IdMaitre))
    Je récupère une valeur bindée en TextBox (TXT0 / Nom neutre pour pouvoir réutiliser facilement le code sur une autre form) de l'enregistrement maître, j'efface le filtre courant et je remet le bon.

    2) MAJ du Datagrid

    Je laisse l'UI du Databind opérer, çà roule à l'écran, en changeant d'enregistrement maître, les modifications sont conservées. Le propriétés du Datagrid semblent donc ok.

    en Mise à jour :
    - Les update sont corrects
    - Les delete sont corrects.
    - Les insert ne sont pas visibles : Cause probable, la clé étrangère de l'enfant non renseignée (cachée et ne devant pas être saisie) ne lie pas l'enfant au parent : problème d'adoption à gérer.

    3) Validation finale via un Bouton.

    J'ai tenté plusieurs syntaxes. En vain.
    La dernière :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
            ObjetDataAdapter.Update(ObjetDataset)
    ramène l'erreur : Impossible pour Update de trouver TableMapping['Table'] ou DataTable 'Table'."

    L'enfant ne peut donc pas grandir...

    Donc deux soucis d'enfants pour le père de famille que je suis...
    Des conseils?
    Un bon tuto raté????

  2. #2
    Membre averti
    Homme Profil pro
    Chef de projet MOA
    Inscrit en
    Septembre 2012
    Messages
    36
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Chef de projet MOA
    Secteur : Santé

    Informations forums :
    Inscription : Septembre 2012
    Messages : 36
    Par défaut
    Bonjour,

    Pas foule de réponses...

    Un modo aurait la gentillesse de déplacer mon thread dans :
    http://www.developpez.net/forums/f48...windows-forms/ ???

    Par avance merci pour sa patience

  3. #3
    Membre averti
    Homme Profil pro
    Chef de projet MOA
    Inscrit en
    Septembre 2012
    Messages
    36
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Chef de projet MOA
    Secteur : Santé

    Informations forums :
    Inscription : Septembre 2012
    Messages : 36
    Par défaut
    Je vais poser la question dans la section Windows Form,
    http://www.developpez.net/forums/d12...agrid-enfants/
    je ferme ce Thread...

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

Discussions similaires

  1. [XL-2013] Incompatibilité de type dans boucle avec textbox
    Par clemence987 dans le forum Excel
    Réponses: 5
    Dernier message: 15/04/2015, 17h09
  2. [Criteria] Récupérer enfant dans une requête sur parent
    Par Nertios dans le forum Hibernate
    Réponses: 0
    Dernier message: 16/09/2013, 18h01
  3. [XL-2007] utilisation optionbutton dans userform avec textbox
    Par r0man0 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 14/05/2013, 14h35
  4. [Débutant] Form avec Enregistrement Parent et Datagrid Enfants
    Par Jeterh dans le forum Windows Forms
    Réponses: 0
    Dernier message: 27/10/2012, 18h34
  5. Réponses: 2
    Dernier message: 09/02/2012, 01h09

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