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 :

Checkbox dans le header du datagridview


Sujet :

VB.NET

Vue hybride

elinfo Checkbox dans le header du... 20/11/2019, 15h30
Delaney Bonjour Tu peux essayer... 20/11/2019, 22h55
elinfo Bonjour , Merci d'abord... 21/11/2019, 09h43
Delaney Bonjour, J'ai testé le... 21/11/2019, 10h20
Delaney Bonjour, j'ai aussi testé... 21/11/2019, 10h39
Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Femme Profil pro
    Webmaster
    Inscrit en
    Décembre 2017
    Messages
    34
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Webmaster

    Informations forums :
    Inscription : Décembre 2017
    Messages : 34
    Par défaut Checkbox dans le header du datagridview
    Bonjour,

    j'ai essayer de mettre ce code dans l'événement cellpainting du datagridview pour avoir un header de type checkbox

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
     dim chkBox as checkbox = New CheckBox()
            Dim rect As Rectangle = Me.DataGridView2.GetCellDisplayRectangle(0, -1, True)
            chkBox.Size = New Size(18, 18)
            Dim positionChk As Point = New Point(rect.Location.X + 14, rect.Location.Y + 10)
            chkBox.Location = positionChk
            Me.DataGridView2.Controls.Add(chkBox)
    Comment je peux récupérer la valeur booléen si la case à cocher du header est cocher ou décocher ?
    Merci d'avance.

  2. #2
    Membre expérimenté Avatar de Delaney
    Homme Profil pro
    Developpeur VB amateur
    Inscrit en
    Mars 2014
    Messages
    148
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Developpeur VB amateur
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Mars 2014
    Messages : 148
    Par défaut
    Bonjour

    Tu peux essayer comme cela

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    Dim value As Boolean
    Dim cbox As CheckBox
    cbox = DirectCast(DataGridView1.Controls.Item(n), CheckBox) ' ici il faut que tu remplace n par le numéro de ta checkbox dans la liste des controles (normalement c'est 2 et plus car 0 et 1 sont pris par HScrollBar et VScrollBar)
    value = cbox.CheckState
    MsgBox(value.ToString)

    Si tu peux nommer ta checkbox c'est mieux :

    ajoute, après l'avoir créé
    et appelle
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    cbox = DirectCast(DataGridView1.Controls.Item("cBox1"), CheckBox)

    Sincèrement

  3. #3
    Membre averti
    Femme Profil pro
    Webmaster
    Inscrit en
    Décembre 2017
    Messages
    34
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Webmaster

    Informations forums :
    Inscription : Décembre 2017
    Messages : 34
    Par défaut
    Bonjour ,

    Merci d'abord pour votre réponse , mais le checkbox.checkState retourne toujours la valeur 'False' même si la case est cocher .
    J'ai mis le code dans l'événement 'cellpainting' et j'affiche le message sur l'événement 'cellClick' du datagridview.

  4. #4
    Membre expérimenté Avatar de Delaney
    Homme Profil pro
    Developpeur VB amateur
    Inscrit en
    Mars 2014
    Messages
    148
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Developpeur VB amateur
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Mars 2014
    Messages : 148
    Par défaut
    Bonjour,

    J'ai testé le code en l'associant à un bouton et cela fonctionne, quand je clique sur le bouton, il renvoie bien true si la case est cochée et false sinon. Cela vient peut-être de l'évènement cellclick. je vais tester ça.

    sincèrement

  5. #5
    Membre expérimenté Avatar de Delaney
    Homme Profil pro
    Developpeur VB amateur
    Inscrit en
    Mars 2014
    Messages
    148
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Developpeur VB amateur
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Mars 2014
    Messages : 148
    Par défaut
    Bonjour,

    j'ai aussi testé en mettant le code dans l’événement cellclick et cela fonctionne aussi. (attention moi j'ai DataGridView1 et non DataGridView2 comme toi.

    voici mon code complet testé (j'ai un bouton et un datagridview avec 2 colonnes) :

    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
    30
    31
     
    Private Sub Form1_Load(sender As Object, e As EventArgs) Handles Me.Load
            DataGridView1.Rows.Add() 'c'est juste pour avoir plusieurs cases et les tester
            DataGridView1.Rows.Add()
    End Sub
     
    Private Sub DataGridView1_CellPainting(sender As Object, e As DataGridViewCellPaintingEventArgs) Handles DataGridView1.CellPainting
            Dim chkBox As CheckBox = New CheckBox()
            Dim rect As Rectangle = Me.DataGridView1.GetCellDisplayRectangle(0, -1, True)
            chkBox.Size = New Size(18, 18)
            chkBox.Name = "cbox1" 'ne pas oublié de nommé la checkbox pour pouvoir l'appeler
            Dim positionChk As Point = New Point(rect.Location.X + 14, rect.Location.Y + 10)
            chkBox.Location = positionChk
            Me.DataGridView1.Controls.Add(chkBox)
    End Sub
     
    Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
            Dim value As Boolean
            Dim cbox As CheckBox
            cbox = DirectCast(DataGridView1.Controls.Item("cbox1"), CheckBox)
            value = cbox.CheckState
            MsgBox(value.ToString)
    End Sub
     
    Private Sub DataGridView1_CellClick(sender As Object, e As DataGridViewCellEventArgs) Handles DataGridView1.CellClick
            Dim value As Boolean
            Dim cbox As CheckBox
            cbox = DirectCast(DataGridView1.Controls.Item("cbox1"), CheckBox)
            value = cbox.CheckState
            MsgBox(value.ToString)
    End Sub
    Sincèrement

  6. #6
    Membre averti
    Femme Profil pro
    Webmaster
    Inscrit en
    Décembre 2017
    Messages
    34
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Webmaster

    Informations forums :
    Inscription : Décembre 2017
    Messages : 34
    Par défaut
    j'ai testé ce code ça marche bien si possible est ce que je peux accéder à l'événement checkedChanged du checkbox pour cocher tous les lignes si le checkbox du header est cocher.

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

Discussions similaires

  1. GridView et checkBox dans le header
    Par nico_4802 dans le forum ASP.NET
    Réponses: 1
    Dernier message: 15/01/2010, 16h02
  2. Comment créer un GroupBox contenant une CheckBox dans le Header ?
    Par seiryujay dans le forum Windows Presentation Foundation
    Réponses: 15
    Dernier message: 17/04/2009, 17h43
  3. [JTable] Checkbox dans le header
    Par Tino13 dans le forum Composants
    Réponses: 2
    Dernier message: 21/07/2008, 14h56
  4. checkbox dans le header !?
    Par christopheEU dans le forum ASP.NET
    Réponses: 2
    Dernier message: 11/06/2008, 12h10
  5. [2.0] Mettre une Checkbox dans le header d'une colonne d'une DatagridView
    Par aurelien.tournier dans le forum Windows Forms
    Réponses: 5
    Dernier message: 23/01/2007, 10h27

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