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

C# Discussion :

Lecture de la ligne courante d'un DatagridView


Sujet :

C#

  1. #1
    Membre du Club
    Inscrit en
    Avril 2007
    Messages
    281
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 281
    Points : 47
    Points
    47
    Par défaut Lecture de la ligne courante d'un DatagridView
    Bonjour à tous,

    En C# ( WPF4), j'utilise un datagridview avec un binding sur un objet.

    Je voudrais pouvoir faire un contrôle lors de la saisie de ma ligne.

    J'ai donc ajouté l'évenenement : dataGrid1_RowEditEnding

    Voici ma procédure :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    private void dataGrid1_RowEditEnding(object sender, DataGridRowEditEndingEventArgs e)
            {
                TableCompte Compte = e.Row.DataContext as TableCompte;
     
                if (Compte  != null)
                {
                   // Verifs
                }
     
            }
    Mon problème est que l'objet compte est toujours nul !


    Voici mon code XAML

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    <DataGrid AutoGenerateColumns="false" Name="dataGrid1" AreRowDetailsFrozen="false" Margin="31,227,28,82" RowEditEnding="dataGrid1_RowEditEnding">
                <DataGrid.Columns>
                    <DataGridTextColumn Width="134" Header="Compte d'origine" Binding="{Binding Path=m_CompteOrigine, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" />
                    <DataGridTextColumn Width="134" Header="Compte Taux 1" Binding="{Binding Path=m_CompteTaux1, Mode=TwoWay ,UpdateSourceTrigger=PropertyChanged}"  />
                    <DataGridTextColumn Width="134" Header="Taux 1" Binding="{Binding Path=m_Taux1, Mode=TwoWay,UpdateSourceTrigger=PropertyChanged }"  />
                    <DataGridTextColumn Width="134" Header="Compte Taux 2" Binding="{Binding Path=m_CompteTaux2, Mode=TwoWay,UpdateSourceTrigger=PropertyChanged}" />
                    <DataGridTextColumn Width="134" Header="Taux 2" Binding="{Binding Path=m_Taux2, Mode=TwoWay,UpdateSourceTrigger=PropertyChanged }"  />
                    <DataGridTextColumn Width="134" Header="Compte Taux 3" Binding="{Binding Path=m_CompteTaux3, Mode=TwoWay,UpdateSourceTrigger=PropertyChanged}" />
                    <DataGridTextColumn Width="134" Header="Taux 3" Binding="{Binding Path=m_Taux3, Mode=TwoWay,UpdateSourceTrigger=PropertyChanged }"  />
                </DataGrid.Columns>
            </DataGrid>
    Voyez vous d'ou pourrait venir mon erreur ?

    Je vous remercie à tous,

    Bien cordialement,

    Nixeus

  2. #2
    Membre éprouvé

    Homme Profil pro
    Développeur .NET
    Inscrit en
    Juin 2011
    Messages
    487
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Finance

    Informations forums :
    Inscription : Juin 2011
    Messages : 487
    Points : 945
    Points
    945
    Par défaut
    Est ce que c'est le DataContext qui est null, ou ta variable ?

    Si c'est ta variable, c'est peut être que tu ne l'as cast pas dans le bon type. 'as' renvoie la variable castée si c'est possible ou null si ça ne l'est pas. Essaye de voir en pas à pas ce que vaut la variable DataContext.
    Mon blog sur les technos .NET et Agile -> http://blog.developpez.com/maximepalmisano/

  3. #3
    Membre du Club
    Inscrit en
    Avril 2007
    Messages
    281
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 281
    Points : 47
    Points
    47
    Par défaut
    Bonjour à toi et merci pour ta réponse,

    Ma variable DataContexte est bonne !
    C'est donc mon Cast qui n'est pas bon.

    C'est donc que mon binding est mal déclaré en XAML ?

  4. #4
    Membre du Club
    Inscrit en
    Avril 2007
    Messages
    281
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 281
    Points : 47
    Points
    47
    Par défaut
    Je pense voir d'ou vient mon erreurs :

    Dans mon XAML, je précise que chaque colonne est bindée à telle ou telle variable membre de ma classe TableCompte.

    Dans mon code Csharp, j'éssaye de caster directement la ligne dans un objet TableCompte.

    Ne faudrait il pas préciser en plus dans mon XAML que le binding se fait sur un objet TableCompte ?

  5. #5
    Membre éprouvé

    Homme Profil pro
    Développeur .NET
    Inscrit en
    Juin 2011
    Messages
    487
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Finance

    Informations forums :
    Inscription : Juin 2011
    Messages : 487
    Points : 945
    Points
    945
    Par défaut
    C'est bien ce que je pensais.

    Es tu sur que ton objet TableCompte correspond bien à une LIGNE de ton DataGrid ? Est ce que ça ne se casterait pas plutôt en DataRow ?

    En debug, tu peux savoir quel est le type de ton objet. Ca te permettra de savoir en quoi tu peux le caster.
    Mon blog sur les technos .NET et Agile -> http://blog.developpez.com/maximepalmisano/

Discussions similaires

  1. Numéro de ligne courante
    Par antigone dans le forum Langage
    Réponses: 3
    Dernier message: 03/04/2006, 22h05
  2. [C] lecture des n lignes d'un fichier
    Par felicity dans le forum C
    Réponses: 12
    Dernier message: 12/01/2006, 23h12
  3. [displaytag] Utilisation des valeurs de la ligne courante
    Par ADIDASman dans le forum Servlets/JSP
    Réponses: 1
    Dernier message: 24/11/2005, 13h43
  4. [ACCESS SQL] génération d'une valeur / ligne courante ?
    Par kikidrome dans le forum Langage SQL
    Réponses: 2
    Dernier message: 15/11/2005, 13h20
  5. Ligne courante
    Par Mephyston dans le forum C++Builder
    Réponses: 2
    Dernier message: 15/10/2003, 11h12

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