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

VB.NET Discussion :

cocher checkboxs enregistrements dataGridView


Sujet :

VB.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Mars 2010
    Messages
    11
    Détails du profil
    Informations forums :
    Inscription : Mars 2010
    Messages : 11
    Par défaut cocher checkboxs enregistrements dataGridView
    Bonjour,

    Voici la fonction que j'utilise pour checker toutes les cellules de la première colonne de mon datagridView (qui est de type checkBox).

    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
     
    Function checkAll(ByVal dgv As DataGridView)
            Dim lon As Integer = dgv.RowCount
            Dim i As Integer
            'cohe tout
            For i = 0 To lon - 1
                If dgv.Rows(i).Cells(0).Selected = False Then
                    'MsgBox("isselected i= " & i)
                    dgv.Rows(i).Cells(0).Value = True
                    'dgv.Rows(i).Cells(0).Value
                End If
                'If dgv.Rows(i).F = True Then
     
                'End If
                dgv.CurrentRow.Selected = True
                dgv.Rows(i).Cells(0).Value = True
                dgv.Rows(i).Cells(0).Selected = True
            Next
            Return dgv
        End Function
    Le problème est qu'apres execution de la fonction, toutes les lignes des enregistrements sont cochées sauf une : celle qui est sélectionnée par l'utilisateur en dernier et qui a une fleche a gauche du datagridView.

    Comment faire pour que cette ligne soit cochée?

    Merci d'avance

  2. #2
    Membre chevronné Avatar de Redouane
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    435
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Octobre 2003
    Messages : 435
    Par défaut
    Bnj,

    avant de voir en détail ton problème, est ce que tu fais
    ou je me trompe ?!!

    normalement :

  3. #3
    Membre averti
    Inscrit en
    Mars 2010
    Messages
    11
    Détails du profil
    Informations forums :
    Inscription : Mars 2010
    Messages : 11
    Par défaut
    En utilisant :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    For i = 0 To lon - 1
    le résultat est identique

  4. #4
    Membre chevronné Avatar de Redouane
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    435
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Octobre 2003
    Messages : 435
    Par défaut
    t'as essayé tt simplement :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    foreach (DataGridViewRow row in dgv.Rows)
    row.Cells[0].Value = true;
    ?

    sinon, comment tu fais pour lancer la sélection de tt tes checkboxs, est ce qu'il y a un checkbox dans ton header ou un botton ...?

  5. #5
    Membre averti
    Inscrit en
    Mars 2010
    Messages
    11
    Détails du profil
    Informations forums :
    Inscription : Mars 2010
    Messages : 11
    Par défaut
    la selection des checkBoxs est lancé par un bouton du Form.

    le test avec foreach rend le meme résultat , càd toutes les lignes sont checkées , et celle qui est sélectionnée et marqué par un curseur à coté n' est pas checkée, tant que la ligne sélectionnée n' est pas changé.

  6. #6
    Membre chevronné Avatar de Redouane
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    435
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Octobre 2003
    Messages : 435
    Par défaut
    moi j'ai fait un simple test en c# et ç marche :

    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
    29
     private void Form1_Load(object sender, EventArgs e)
            {
                DataTable dt = new DataTable();
     
                dt.Columns.Add("id");
                dt.Columns.Add("libelle");
     
                for (int i = 0; i < 10; i++)
                {
                    dt.Rows.Add(i.ToString("0000"), string.Format("libelle {0}", i));
                }
     
                // dataGridView1 contient une colomne de plus de type DataGridViewCheckBoxColumn
                dataGridView1.DataSource = dt;
            }
     
            private void button1_Click(object sender, EventArgs e)
            {
                checkAll();
            }
     
            private void checkAll()
            {
                foreach (DataGridViewRow r in dataGridView1.Rows)
                {
                    r.Cells[0].Value = true;
                    r.Cells[0].Selected = true;
                }
            }
    c'étais juste pour tester et voir le problème

Discussions similaires

  1. Réponses: 7
    Dernier message: 29/07/2011, 00h25
  2. Réponses: 4
    Dernier message: 06/10/2006, 09h06
  3. Cocher Checkbox dans boucle
    Par grumly22 dans le forum Langage
    Réponses: 5
    Dernier message: 04/07/2006, 09h51
  4. cocher checkbox = affecter la date dans un champ de saisie
    Par cari dans le forum Général JavaScript
    Réponses: 16
    Dernier message: 19/01/2006, 13h50
  5. Bouton pour cocher checkbox
    Par eidole62 dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 15/04/2005, 16h28

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