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 :

cocher une case dans un dataGridView1


Sujet :

C#

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éprouvé
    Inscrit en
    Août 2008
    Messages
    1 596
    Détails du profil
    Informations forums :
    Inscription : Août 2008
    Messages : 1 596
    Par défaut cocher une case dans un dataGridView1
    Bonjour, j'ai une dataGridView1 avec des cases a cocher, dans une ligne je veux pouvoir cocher uniquement une seule cases a la fois, une fois je coche une l'autre qui etait cochée sera decocher automatiquement.

  2. #2
    Membre éprouvé
    Homme Profil pro
    Responsable de service informatique
    Inscrit en
    Octobre 2010
    Messages
    62
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Responsable de service informatique
    Secteur : Transports

    Informations forums :
    Inscription : Octobre 2010
    Messages : 62
    Par défaut
    Bonjour,

    Vous pourriez vous abonner à l'évenement 'cellclick' ou 'celldoubleclick' du datagridview pour passer la cellule concernée avec une coche et les autres sans.

  3. #3
    Membre éprouvé
    Inscrit en
    Août 2008
    Messages
    1 596
    Détails du profil
    Informations forums :
    Inscription : Août 2008
    Messages : 1 596
    Par défaut
    voila c'est ce que j'ai utilisé :
    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
    private void dataGridView1_CellClick(object sender, DataGridViewCellEventArgs e)
            {
                #region editer BV
     
                if (this.dataGridView1.Rows[0].Cells[13].Selected)
                {
     
                    for (int i = 1; i < dataGridView1.ColumnCount - 1; i++)
                    {
                        var val = dataGridView1.Rows[0].Cells[i].Value;
                        if (val == null) { continue; }
     
                        bool isChecked = bool.Parse(val.ToString());
     
                        if (isChecked)
                        {
                            DonneeBV sbv = new DonneeBV(cmbAgr.SelectedItem.ToString(), cmbCVT.SelectedItem.ToString(), Convert.ToInt16(combAnnee.SelectedItem.ToString()), Convert.ToInt16(i));
                            sbv.Show(); this.Hide();
                        }
     
                    }
                    EtatCVTAnnuel(cmbAgr.SelectedItem.ToString(), Convert.ToInt16(combAnnee.SelectedItem.ToString()));    
                }
    }
    mais la je lui permet de cocher plusieurs, je ne sais pas comment lui empecher de cocher sur une seule uniquement

  4. #4
    Membre éprouvé
    Homme Profil pro
    Responsable de service informatique
    Inscrit en
    Octobre 2010
    Messages
    62
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Responsable de service informatique
    Secteur : Transports

    Informations forums :
    Inscription : Octobre 2010
    Messages : 62
    Par défaut
    Vous n'avez qu'une seule ligne dans votre datagrid ? Si c'est le cas un groupbox avec radiobutton pourrait être plus pratique, à voir selon ce que vous avez à afficher.
    Sinon à tester mais cela devrait donner ce que vous voulez :

    Code C# : 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
    // Vérifier si la cellule est cochée
    private void dataGridView1_CellClick(object sender, DataGridViewCellEventArgs e)
    {
                if ((bool)dataGridView1.Rows[e.RowIndex].Cells[e.ColumnIndex].Value == true)
                {
                    dataGridView1.Rows[e.RowIndex].Cells[e.ColumnIndex].Value = false;
                    return;
                }
     
                // Cocher la cellule et décocher les autres
                for (int i = 0; i < dataGridView1.ColumnCount - 1; i++)
                {
                    if (dataGridView1.Rows[e.RowIndex].Cells[i].Value == null)
                        continue;
     
                    if (i == e.ColumnIndex)
                        dataGridView1.Rows[e.RowIndex].Cells[i].Value = true;
                    else
                        dataGridView1.Rows[e.RowIndex].Cells[i].Value = false;
                }
    }

Discussions similaires

  1. Cocher une case dans un tableau
    Par mangood83 dans le forum VBA Word
    Réponses: 0
    Dernier message: 27/08/2007, 09h42
  2. Impossible de cocher une case dans une table
    Par Cazaux-Moutou-Philippe dans le forum WinDev
    Réponses: 8
    Dernier message: 26/11/2006, 13h56
  3. Cocher une checkbox dans word a partir de vb6
    Par morgan47 dans le forum VB 6 et antérieur
    Réponses: 2
    Dernier message: 11/07/2006, 10h53
  4. cocher une case+affichage de dates
    Par Toff !!!!! dans le forum Access
    Réponses: 2
    Dernier message: 17/10/2005, 10h07
  5. Cocher une case avec affichage automatique
    Par Toff !!!!! dans le forum Access
    Réponses: 3
    Dernier message: 27/09/2005, 13h36

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