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 Presentation Foundation Discussion :

Validation d'une cellule dans un dataGrid [Débutant]


Sujet :

Windows Presentation Foundation

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Mai 2012
    Messages
    16
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2012
    Messages : 16
    Par défaut Validation d'une cellule dans un dataGrid
    Bonjour tout le monde,
    Alors j'ai une dataGrid que je remplie a la"main" donc je dois contrôler l'entrée clavier.
    Dans un cas c'est le type String ou Date ou Double, j'ai essayer avec ValidatesOnExceptions=True et
    Code xaml : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     <Style x:Key="datagridElStyle" TargetType="{x:Type TextBlock}">
                            <Style.Triggers>
                                <Trigger Property="Validation.HasError" Value="True">
                                    <Setter Property="Background" Value="Yellow" />
                                    <Setter Property="ToolTip" 
                                 Value="{Binding RelativeSource={RelativeSource Self}, Path=(Validation.Errors)[0].ErrorContent}"/>
                                </Trigger>
                            </Style.Triggers>
                        </Style>
    ce code pour changer le style de ma cellule en cas d'erreur mais je n'arrive pas a résoudre ce mystère
    mon xaml est le suivant:
    Code xaml : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    <Style x:Key="datagridElStyle" TargetType="{x:Type TextBlock}">
                            <Style.Triggers>
                                <Trigger Property="Validation.HasError" Value="True">
                                    <Setter Property="Background" Value="Yellow" />
                                    <Setter Property="ToolTip" 
                                 Value="{Binding RelativeSource={RelativeSource Self}, Path=(Validation.Errors)[0].ErrorContent}"/>
                                </Trigger>
                            </Style.Triggers>
                        </Style>
                    </lib:dataGrid.Resources>
     
                    <lib:dataGrid.Columns>
                        <DataGridTextColumn   ElementStyle="{StaticResource datagridElStyle}" Width="*" x:Name="abs" Header="Abscisse" Binding="{Binding Path=X, Mode=TwoWay,UpdateSourceTrigger=PropertyChanged,ValidatesOnExceptions=True,ValidatesOnDataErrors=True}"/>
    mon Code Behind
    Code vb.net : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     If Not (IsDate(dgabs.SelectedItem.X)) Then
                        Throw New ArgumentException("Not a Date")
                    End If
    J'ai louper quelques chose?
    Merci de votre aide

  2. #2
    Membre Expert
    Avatar de GuruuMeditation
    Homme Profil pro
    .Net Architect
    Inscrit en
    Octobre 2010
    Messages
    1 705
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : Belgique

    Informations professionnelles :
    Activité : .Net Architect
    Secteur : Conseil

    Informations forums :
    Inscription : Octobre 2010
    Messages : 1 705
    Par défaut
    Tu as implémenté une interface de validation, comme IDataErrorInfo?

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Mai 2012
    Messages
    16
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2012
    Messages : 16
    Par défaut
    Citation Envoyé par GuruuMeditation Voir le message
    Tu as implémenté une interface de validation, comme IDataErrorInfo?
    Merci pour ta réponse en fait j'ai réussi avec un Validator mais il me reste le souci de savoir si je dois contrôler un type Date ou un type Double ou autre!
    une idée?

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Mai 2012
    Messages
    16
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2012
    Messages : 16
    Par défaut
    Alors j'ai réussi a résoudre ca mais j'ai un autre problème!
    En fait je veux donner le focus a la premiere cellule du prochain Row! mais ca ne marche pas avec les currentCell et SelectedItem ou SelectedIndex
    Des idées?

  5. #5
    Membre éclairé Avatar de koyot3
    Inscrit en
    Avril 2007
    Messages
    693
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 693
    Par défaut
    Salut Amine

    lien

    @+

  6. #6
    Membre averti
    Profil pro
    Inscrit en
    Mai 2012
    Messages
    16
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2012
    Messages : 16
    Par défaut
    Citation Envoyé par koyot3 Voir le message
    Salut Amine

    lien

    @+
    Merci koyot mais ca ne marche pas pour moi et je suis en VB.net

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

Discussions similaires

  1. [Débutant] Recuperer la valeur d'une cellule dans un DataGrid
    Par Sytchev3 dans le forum Windows Presentation Foundation
    Réponses: 4
    Dernier message: 07/05/2012, 14h12
  2. Recuperer la valeur d'une cellule dans un DataGrid (.net 4.0)
    Par adivinenza dans le forum Windows Presentation Foundation
    Réponses: 29
    Dernier message: 04/03/2011, 16h47
  3. changer couleur d'une cellule dans un datagrid
    Par megaloplex dans le forum Flex
    Réponses: 7
    Dernier message: 11/06/2009, 14h33
  4. Réponses: 12
    Dernier message: 05/03/2007, 11h52
  5. Réponses: 5
    Dernier message: 04/05/2006, 17h00

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