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 :

Datagridview et Case a cocher


Sujet :

C#

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Nouveau membre du Club
    Profil pro
    Développeur informatique
    Inscrit en
    Octobre 2008
    Messages
    69
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Octobre 2008
    Messages : 69
    Points : 38
    Points
    38
    Par défaut Datagridview et Case a cocher
    Bonjour,
    Je travaille avec une datagridView et une colonne de case a cocher ( qui est sur la premiere colonne)
    sur ce code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
     
     
    private void btnActiver_Click(object sender, EventArgs e)
            {
     
                for (int i = 0; i < dgvContactInnactif.Rows.Count; i++)
                {   
                    DataGridViewCell dgvcCaseACocher=dgvContactInnactif[0,i];
                    if (dgvcCaseACocher is DataGridViewCheckBoxCell)
                    {
     
                        bool cellChecked = (bool)dgvcCaseACocher.Value;//bool cocher pas cocher.
                        if (cellChecked == true)
                        {
     
                            string strId = (string)dgvContactInnactif.Rows[i].Cells[5].Value;
                            Structure contactActive = new Structure();
                            if (Data.EditXMLContact(contactActive, strId) == true)
                            {
                                MessageBox.Show("Les contacts ont ete modifiés");
                            }
     
                        }
     
                    }
                }
     
            }
    j'ai une erreur pour la ligne
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
      bool cellChecked = (bool)dgvcCaseACocher.Value
    Avez vous une idée?
    merci d'avance.

  2. #2
    Membre émérite Avatar de Guulh
    Homme Profil pro
    Inscrit en
    Septembre 2007
    Messages
    2 160
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Septembre 2007
    Messages : 2 160
    Points : 2 925
    Points
    2 925
    Par défaut
    Salut,

    met un point d'arrêt sur cette ligne et regarde la valeur et le type de dgvcCaseACocher.Value. En tous cas, visiblement, c'est pas un bool
    ಠ_ಠ

  3. #3
    Membre actif
    Inscrit en
    Octobre 2007
    Messages
    236
    Détails du profil
    Informations personnelles :
    Âge : 45

    Informations forums :
    Inscription : Octobre 2007
    Messages : 236
    Points : 233
    Points
    233
    Par défaut
    Il se peut que la propriété Value retourne un null. Fais un test pour savoir si c'est pas null avant d'affecter la valeur dans une autre variable.

  4. #4
    Nouveau membre du Club
    Profil pro
    Développeur informatique
    Inscrit en
    Octobre 2008
    Messages
    69
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Octobre 2008
    Messages : 69
    Points : 38
    Points
    38
    Par défaut
    Merci,
    oui la valeur retournée au bien null... logique alors pour l'erreur retournée...


    Mais alors comment je peux verifier quand les cases sont cochées?

  5. #5
    Expert éminent Avatar de Graffito
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    5 993
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 5 993
    Points : 7 903
    Points
    7 903
    Par défaut
    bool cellChecked = dgvcCaseACocher.Value!=null && (bool)dgvcCaseACocher.Value
    " Le croquemitaine ! Aaaaaah ! Où ça ? " ©Homer Simpson

  6. #6
    Membre actif
    Inscrit en
    Octobre 2007
    Messages
    236
    Détails du profil
    Informations personnelles :
    Âge : 45

    Informations forums :
    Inscription : Octobre 2007
    Messages : 236
    Points : 233
    Points
    233
    Par défaut
    Ou bien un simple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    bool cellChecked = false;
    if(dgvcCaseACocher.Value != null) {
        cellChecked = (bool)dgvcCaseACocher.Value;
    }
    Car, visuellement, DataGridView représente une cellule DataGridViewCheckBoxCell comme étant Unchecked si la propriété Value est à null.

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

Discussions similaires

  1. [VB.NET] DataGridView, gérer cases à cocher
    Par tssi555 dans le forum VB.NET
    Réponses: 15
    Dernier message: 20/01/2009, 09h19
  2. DataGridView et cases à cocher
    Par tssi555 dans le forum VB.NET
    Réponses: 13
    Dernier message: 03/10/2008, 15h53
  3. Réponses: 4
    Dernier message: 06/10/2006, 09h06
  4. Réponses: 3
    Dernier message: 10/05/2005, 15h20
  5. [Swing]Case a cocher JTable, et Renderer
    Par bibx dans le forum Composants
    Réponses: 16
    Dernier message: 29/12/2004, 14h49

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