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 Forms Discussion :

[C#][DataGridView] Action quand on change la valeur d'une CheckBox


Sujet :

Windows Forms

  1. #1
    Membre à l'essai
    Inscrit en
    Août 2006
    Messages
    46
    Détails du profil
    Informations forums :
    Inscription : Août 2006
    Messages : 46
    Points : 22
    Points
    22
    Par défaut [C#][DataGridView] Action quand on change la valeur d'une CheckBox
    Bonjour,

    J'ai un DataGridView avec 4 colonnes de type "DataGridViewCheckBoxColumn". J'aimerais lancer une methode quand la valeur d'une checkbox est changée. Le probleme: Avec "CellcontentClick" ou "Cellclick", la valeur n'est pas mise a jour, comme expliqué sur MSDN:

    If you want to respond immediately when users click a check box cell, you can handle the DataGridView.CellContentClick event, but this event occurs before the cell value is updated. If you need the new value at the time of the click, one option is to calculate what the expected value will be based on the current value. Another approach is to commit the change immediately, and handle the DataGridView.CellValueChanged event to respond to it. To commit the change when the cell is clicked, you must handle the DataGridView.CurrentCellDirtyStateChanged event. In the handler, if the current cell is a check box cell, call the DataGridView.CommitEdit method and pass in the Commit value.
    ... mais je ne suis pas arrivé a utiliser le "DataGridView.CurrentCellDirtyStateChanged"... qqun peut m'aider ?

  2. #2
    Membre régulier
    Profil pro
    Inscrit en
    Août 2005
    Messages
    98
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 98
    Points : 109
    Points
    109
    Par défaut
    utilises l'event CellContentClick.
    Ensuite pour récupérer direct la valeur sans avoir à quitter la cellule, tu utilises la méthode FormattedValue ( mdataGridView.CurrentCell.FormattedValue).
    Par contre tu as peut être à changer le mode d'édition (EditMode) de ton datagridview. Si ce n'est déjà fait mets le sur EditOnEnter.

  3. #3
    Membre à l'essai
    Inscrit en
    Août 2006
    Messages
    46
    Détails du profil
    Informations forums :
    Inscription : Août 2006
    Messages : 46
    Points : 22
    Points
    22
    Par défaut
    Hm je ne comprends pas trop comment faire ...

    Pour le moment, j'ai ca:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    private void show_einstellungen(object sender, DataGridViewCellEventArgs e)
            {
                // autre chose            
            }
            if (e.ColumnIndex == 1 || e.ColumnIndex == 2 || e.ColumnIndex == 3 || e.ColumnIndex == 4)
                {
                    // ICI faire qqch quand la valeur d'une des checkboxes est changée
                }
     
            }
    Comment utiliser le FormattedValue ?

  4. #4
    Membre à l'essai
    Inscrit en
    Août 2006
    Messages
    46
    Détails du profil
    Informations forums :
    Inscription : Août 2006
    Messages : 46
    Points : 22
    Points
    22
    Par défaut
    J'ai trouvé mon bonheur avec ca:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
                if (DataGridView1.IsCurrentCellDirty == true)
                {
     
                    value = DataGridView1.SelectedCells[counter]
                        .EditedFormattedValue.ToString();
                }
    merci pour l'indice

Discussions similaires

  1. Réponses: 6
    Dernier message: 23/07/2012, 11h13
  2. executer une macro quand on change la valeur d'une cellule
    Par Benwad dans le forum Macros et VBA Excel
    Réponses: 17
    Dernier message: 23/02/2009, 18h54
  3. échange de valeur dans une pile
    Par yohan0262 dans le forum C++
    Réponses: 15
    Dernier message: 29/11/2007, 16h53
  4. choix d'un radioboutton qui change les valeurs d'une comboBox
    Par poussin_44 dans le forum Windows Forms
    Réponses: 3
    Dernier message: 04/07/2007, 09h10
  5. Réponses: 1
    Dernier message: 23/04/2007, 13h22

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