none
Comment mettre à jour automatiquement une colonne calculée d'un Entityobject RRS feed

  • Question

  • Bonjour,
    J'ai dans mon EntityModel une table Sql Server principale : PERSONNE, et quelques tables de paramètres reliées à ma table principale par des associations.
    Pour afficher correspondant aux codes contenus dans ma table principale, j'ai créé des colonnes calculées comme le montre l'extrait de code suivant : 
    public partial class PERSONNE {
    
        public String SituationFamille {
          get {
            if (!this.PAR_SITUFAMReference.IsLoaded) {
              this.PAR_SITUFAMReference.Load();
            }
            return this.PAR_SITUFAM.I_SITUFAM.ToString();
          }
        }
     }
    

    Et dans mon formulaire xaml j'affiche le libellé comme ceci :
    <Label Content="{Binding SituationFamille}" Grid.Row="7" Grid.Column="1"/>
    
    
    Et je donne la possibilité à l'utilisateur de modifier le code via une comboBox :
    <ComboBox Grid.Column="2" Grid.Row="7" Name="cbSituFam"
                      ItemsSource="{Binding Path=SituationsFamille, RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type UserControl}}}"
                      DisplayMemberPath="I_SITUFAM"  
                      SelectedValuePath="C_SITUFAM"  
                      SelectedValue="{Binding Path=C_SITUFAM}" />
    

    Au chargement du formulaire le libellé s'affiche correctement. Mais si l'utilisateur modifie le code via la combobox, le label n'est pas mis à jour.
    Mes questions : comment faire pour que le label se mette à jour automatiquement ? Et est-ce qu'il n'y a pas plus simple pour afficher le libelle correspondant à un code de la table principale ?
    Merci d'avance pour votre aide.

    TEDFR
    jeudi 6 octobre 2011 15:27

Réponses

  • Bonjour,

    J'ai trouvé comment récupérer plus simplement le contenu d'une table liée : il suffit tout simplement d'utiliser la propriété de navigation pour accéder aux propriétés des tables liées.

    Par contre mon problème persiste, mais je l'avais mal interprété. Je vais donc recréer un post pour reformuler mon soucis.


    TEDFR
    • Marqué comme réponse TEDFR dimanche 9 octobre 2011 07:39
    dimanche 9 octobre 2011 07:38

Toutes les réponses