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

Silverlight Discussion :

ValidationSummary en utilisant INotifyDataErrorInfo


Sujet :

Silverlight

  1. #1
    Membre émérite
    Homme Profil pro
    Développeur / architecte
    Inscrit en
    Juillet 2009
    Messages
    473
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Développeur / architecte

    Informations forums :
    Inscription : Juillet 2009
    Messages : 473
    Par défaut ValidationSummary en utilisant INotifyDataErrorInfo
    Bonjour à tous,

    J'essaie d'utiliser le ValidationSummary dans un grid qui contient un datagrid et d'autres champs. (Je préfère utiliser le grid que le dataform.) Le tout avec MVVM.
    Jusque là j'avais déjà utilisé cette technique mais avec des formulaires ne contenant pas de datagrid, et ça marchait très bien.
    Je pense aussi avoir compris les subtilités de l'interface INotifyDataErrorInfo (erreur de niveau objet/propriété) que j'utilise car je veux pouvoir signaler des erreurs de manière asynchrone.
    Par contre depuis que j'ai introduit le datagrid, c'est un peu la misère:
    - mon datagrid contient son propre validationsummary (j'aurai préféré tout gérer sur le validationsummary de mon formulaire, mais soit) et les erreurs répertoriées sont exactes
    - dans mon validation summary du formulaire, je retrouve bien les bonnes erreurs, mais ils arrive que celles qui sont issues du datagrid soient dupliquées en fonction des changements (pas de logique identifiée) (dupliquées au sein du validationsummary)
    - les champs dans datagrid (définies en DataGridTemplateColumn, avec des timeupdown du sdk par exemple) ne permettent plus d'afficher "le champs qui précise l'erreur"

    Quelqu'un saurait m'expliquer comment fonctionne le validationsummary ? Comment à partir d'un viewmodel, il arrive à extraire toutes les erreurs et surtout coment il arrive à extraire les erreurs des sous viewmodels ? (chaque ligne du datagrid est un sous viewmodel) Peut-on modifier ce comportement?

    Peut-on inhiber simplement le validationsummary du datagrid?

    Comment gérer les détails d'erreur sur les champs même dans un datagrid ?

    Je suis preneur de tout article, explication etc...

    Merci
    Christophe

  2. #2
    Rédacteur
    Avatar de Nathanael Marchand
    Homme Profil pro
    Expert .Net So@t
    Inscrit en
    Octobre 2008
    Messages
    3 615
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Expert .Net So@t
    Secteur : Conseil

    Informations forums :
    Inscription : Octobre 2008
    Messages : 3 615
    Par défaut
    Pour ne pas mettre le validationsummary du datagrid il suffit de reprendre le template par défaut du datagrid et supprimer le validationsummary

  3. #3
    Membre émérite
    Homme Profil pro
    Développeur / architecte
    Inscrit en
    Juillet 2009
    Messages
    473
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Développeur / architecte

    Informations forums :
    Inscription : Juillet 2009
    Messages : 473
    Par défaut
    Merci pr ta réponse, mais je pensais eventuellement à plus simple, du style une propriété à désactiver par exemple.

  4. #4
    Expert confirmé Avatar de Lapinpanda
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Juin 2009
    Messages
    3 230
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Juin 2009
    Messages : 3 230
    Par défaut
    Citation Envoyé par chrisdot Voir le message
    Merci pr ta réponse, mais je pensais eventuellement à plus simple, du style une propriété à désactiver par exemple.
    Sincèrement, sa réponse est très simple. T'ouvres Blend, modifier une copie du modèle, supprimer la zone du validationsummary, copier, coller, done.

  5. #5
    Membre émérite
    Homme Profil pro
    Développeur / architecte
    Inscrit en
    Juillet 2009
    Messages
    473
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Développeur / architecte

    Informations forums :
    Inscription : Juillet 2009
    Messages : 473
    Par défaut
    Merci, mais ce n'étais pas le fond de ma question. Bien sûr j'ai compris comment virer le validation summary du datagrid, même s'il faut "re-templater" le control.

    Je cherche à comprendre profondément ce qui se passe avec le validation summary. Comment "récupère"-il les erreurs, et comment va-t-il se mettre à jour?

    Mon problème c'est que depuis que j'ai introduit le datagrid, il y a toujours un cas où l'un des 2 validation summary (celui du datagrid, ou celui du bas de page) n'est pas à jour, où qui comporte plusieurs fois la même erreur... En plus, en fonction du type de control que j'utilise dans mon datagrid, ainsi que si je le mets en celledit ou non, ça change aussi le comportement des validation summary....

    Bref, un article détaillé sur les remontées d'erreurs/validation summary me serait utile. J'ai un cas complexe où un viewmodel contient une liste de sous viewmodels (chaque entrée de row du datagrid)

  6. #6
    Rédacteur
    Avatar de Thomas Lebrun
    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    9 161
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations forums :
    Inscription : Octobre 2002
    Messages : 9 161
    Par défaut
    Citation Envoyé par chrisdot Voir le message
    Je cherche à comprendre profondément ce qui se passe avec le validation summary. Comment "récupère"-il les erreurs, et comment va-t-il se mettre à jour?
    Lorsque tu as une erreur de validation qui survient, un évènement est déclenché. C'est cet évènement qui est intercepté par le ValidationSummary.

  7. #7
    Expert confirmé
    Avatar de Skyounet
    Homme Profil pro
    Software Engineer
    Inscrit en
    Mars 2005
    Messages
    6 380
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : Software Engineer
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2005
    Messages : 6 380
    Par défaut
    Le ValidationSummary s'abonne a l'event BindingValidationError. En fonction du type (ajout ou suppression d'erreur) il ajoute ou enleve un un item dans sa collection de ValidationSummaryItem (ou un truc dans le genre).

Discussions similaires

  1. utiliser les tag [MFC] [Win32] [.NET] [C++/CLI]
    Par hiko-seijuro dans le forum Visual C++
    Réponses: 8
    Dernier message: 08/06/2005, 15h57
  2. utilisation du meta type ANY
    Par Anonymous dans le forum CORBA
    Réponses: 1
    Dernier message: 15/04/2002, 12h36
  3. [BCB5] Utilisation des Ressources (.res)
    Par Vince78 dans le forum C++Builder
    Réponses: 2
    Dernier message: 04/04/2002, 16h01
  4. Réponses: 2
    Dernier message: 20/03/2002, 23h01

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