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 :

DataGridView - Comptage de Checkbox en état Checked (True)


Sujet :

VB.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé Avatar de Shennong
    Homme Profil pro
    Technicien Informatique/Hotliner
    Inscrit en
    Février 2012
    Messages
    186
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Calvados (Basse Normandie)

    Informations professionnelles :
    Activité : Technicien Informatique/Hotliner
    Secteur : Santé

    Informations forums :
    Inscription : Février 2012
    Messages : 186
    Par défaut DataGridView - Comptage de Checkbox en état Checked (True)
    Bonjour,

    J'espère que quelqu'un pourra m'aider sur ce petit (je pense) problème, mais dont la solution m'échappe encore.

    Voici le soucis :

    J'ai un DataGridView avec en colonne 0, une colonne de type checkbox. Je souhaiterai que lorsque l'utilisateur coche une checkbox, en cliquant dessus, qu'un compteur sous forme d'un label soit incrémenté en temsp réel.
    J'insiste sur le "en temps réel", car je parviens à compter correctement et à afficher, mais toujours avec un décalage de 1.

    Par exemple, au début rien n'est coché, et par défaut mon label affiche "0".
    Si je coche une checkbox, le compteur reste à zéro. Si j'en coche une deuxième, il passe à 1. Et pareil si j'en décoche, il y a toujours un clic de retard en gros.

    Je poste le bout de code que j'utilise actuellement dans l'évènement "CellClick"

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
          Dim Comptage As Integer = 0
     
            For i = 0 To DgvFactures.RowCount - 1
     
                If Convert.ToBoolean(DgvFactures.Rows(i).Cells(0).Value) = True Then
     
                    Comptage += 1
     
                End If
     
            Next
     
            LblNbSelected.Text = Comptage
    J'ai également essayé dans "CellMouseUp" et même problème.

    Si quelqu'un a une solution à ce problème, ça m'aiderait vachement là !

    Merci beaucoup et bonne journée.

    Cordialement-

  2. #2
    Expert confirmé
    Avatar de ProgElecT
    Homme Profil pro
    Retraité
    Inscrit en
    Décembre 2004
    Messages
    6 132
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 69
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Décembre 2004
    Messages : 6 132
    Par défaut
    Salut

    Je ne code plus vb.net mais .... , n'y-a-t'il pas l'évènement CellValueChanged ? à moins que la validation du changement ne se produise à la perte du focus, je ne me souvient plus
    :whistle:pourquoi pas, pour remercier, un :plusser: pour celui/ceux qui vous ont dépannés.
    saut de ligne
    OOOOOOOOO👉 → → Ma page perso sur DVP ← ← 👈

  3. #3
    Membre Expert

    Homme Profil pro
    Développeur .NET
    Inscrit en
    Novembre 2010
    Messages
    2 067
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Novembre 2010
    Messages : 2 067
    Par défaut
    Ta checkbox est bindé à un boolean dans la liste qui te sert de datasource pour ton datagrid ?
    Parce que ça serait plus simple de compter à ce niveau là.

  4. #4
    Membre éclairé Avatar de Shennong
    Homme Profil pro
    Technicien Informatique/Hotliner
    Inscrit en
    Février 2012
    Messages
    186
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Calvados (Basse Normandie)

    Informations professionnelles :
    Activité : Technicien Informatique/Hotliner
    Secteur : Santé

    Informations forums :
    Inscription : Février 2012
    Messages : 186
    Par défaut
    @ProgElecT : Ah oui j'avais oublié cet Event ! c'est le même résultat, je l'ai essayé également, pardon.

    @YoutPout978 : Non, c'est une colonne que j'ajoute après récupération des data depuis la base de données.

    J'ai l'impression que ça pue mon truc non ?

    Merci encore.

    Cordialement-

  5. #5
    Membre Expert

    Homme Profil pro
    Développeur .NET
    Inscrit en
    Novembre 2010
    Messages
    2 067
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Novembre 2010
    Messages : 2 067
    Par défaut
    Et elle te sert à quoi ? une solution peut être d'ajouter un boolean dans l'objet bindé, et d'implémenter l'interface inotifypropertychanged sur ta classe, pour être notifié de tout changement sur ta propriété
    https://docs.microsoft.com/fr-fr/dot...nged-interface


    Sinon des fois il y a des event changed et changing, l'event 'ing' survient avant l'événement 'ed'

  6. #6
    Membre éclairé Avatar de Shennong
    Homme Profil pro
    Technicien Informatique/Hotliner
    Inscrit en
    Février 2012
    Messages
    186
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Calvados (Basse Normandie)

    Informations professionnelles :
    Activité : Technicien Informatique/Hotliner
    Secteur : Santé

    Informations forums :
    Inscription : Février 2012
    Messages : 186
    Par défaut
    Bin elle me sert simplement à savoir quels enregistrements ont été sélectionnés par l'utilisateur, pour utiliser les données de ces lignes ensuite.

    Merci pour tes efforts, mais s'il faut commencer à rentrer dans ce genre de chose, je préfère essayer de me débrouiller autrement et trouver une solution alternative.
    Je trouve ça quand-même dingue qu'il soit aussi compliqué de compter des checkbox dans un DataGridView, sachant que c'est une option native du contrôle ! C'est fou ça !

    Bon si je ne trouve pas de solution, je vais me rabattre sur une autre façon de faire, à savoir passer par un ListView. J'aime moins, mais les Checkbox sont gérées super facilement.

    Merci pour votre aide en tout cas. Je laisse le sujet ouvert quelques temps, au cas où quelqu'un aurait une solution pratique.

    Bonne journée à vous.

    Cordialement-

  7. #7
    Expert confirmé
    Avatar de ProgElecT
    Homme Profil pro
    Retraité
    Inscrit en
    Décembre 2004
    Messages
    6 132
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 69
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Décembre 2004
    Messages : 6 132
    Par défaut
    Re

    Je ne sais pas si cela peut faire avancer le chimiliblic, DataGridView.CurrentCellDirtyStateChanged Événement
    :whistle:pourquoi pas, pour remercier, un :plusser: pour celui/ceux qui vous ont dépannés.
    saut de ligne
    OOOOOOOOO👉 → → Ma page perso sur DVP ← ← 👈

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

Discussions similaires

  1. CheckBox à 3 états
    Par methos99 dans le forum Flex
    Réponses: 2
    Dernier message: 30/04/2009, 17h24
  2. DataGridView avec colonne CheckBox 2 (le retour xD)
    Par DarkSeiryu dans le forum Windows Forms
    Réponses: 8
    Dernier message: 19/02/2009, 15h04
  3. Définir une colone d'un dataGridView comme étant checkBox
    Par gibea00 dans le forum Windows Forms
    Réponses: 1
    Dernier message: 09/08/2008, 19h44
  4. variable sur comptage de checkbox coché
    Par gritchou dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 18/04/2008, 17h35
  5. Réponses: 6
    Dernier message: 01/06/2007, 17h39

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