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 :

Problème d'index d'un DatagridView dans une boucle


Sujet :

VB.NET

  1. #1
    Candidat au Club
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Décembre 2017
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux

    Informations forums :
    Inscription : Décembre 2017
    Messages : 4
    Points : 3
    Points
    3
    Par défaut Problème d'index d'un DatagridView dans une boucle
    Bonjour à tous,

    Voilà je cherche à créer un petit programme et je bloque sur une épine.
    Ce n'est surement rien de compliqué mais je débute et je ne trouve pas la solution donc me voici

    Je me base sur un .xml qui me remplit mon Datagrid au chargement de ma forme, tout fonctionne.

    Lorsque je veux cacher les lignes matchant la boucle, celle-ci ne cache que la première ligne de mon Datagrid.

    Je pense que les parametres associés à ma variable posent problème mais je m'embrouille à force de chercher diverses solutions sur le net donc un oeil neuf m'aiderait!

    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
            Dim Debit As String
            Dim ligne As Integer
     
     
            'Affichage uniquement des objets non débités
     
            For Each row As DataGridViewRow In DataGridView1.Rows
     
                ligne = DataGridView1.CurrentRow.Index
     
                Debit = row.Cells("Débité").Value
     
                If Debit = "Oui" Then
     
                    Me.DataGridView1.CurrentCell = Nothing
     
                    Me.DataGridView1.Rows(ligne).Visible = False
     
                End If
     
            Next
    Merci d'avance!

  2. #2
    Membre expert
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Octobre 2013
    Messages
    1 563
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2013
    Messages : 1 563
    Points : 3 404
    Points
    3 404
    Par défaut
    Citation Envoyé par Amnesick Voir le message
    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
     
            For Each row As DataGridViewRow In DataGridView1.Rows
     
                ligne = DataGridView1.CurrentRow.Index
     
                Debit = row.Cells("Débité").Value
     
                If Debit = "Oui" Then
     
                    Me.DataGridView1.CurrentCell = Nothing
     
                    Me.DataGridView1.Rows(ligne).Visible = False
     
                End If
     
            Next
    En fait, tu affectes la CurrentRow, qui n'est pas la ligne courante de ta boucle, mais la ligne sélectionnée sur le formulaire. Essaye un truc comme ça :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
            For Each row As DataGridViewRow In DataGridView1.Rows
                Debit = row.Cells("Débité").Value
                If Debit = "Oui" Then
                    row.Visible = False
                End If
     
            Next

  3. #3
    Candidat au Club
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Décembre 2017
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux

    Informations forums :
    Inscription : Décembre 2017
    Messages : 4
    Points : 3
    Points
    3
    Par défaut
    Ah oui effectivement, je n'avais pas compris la fonction CurrentRow comme cela!

    Super, cela fonctionne et cela simplifie grandement mon code!

    Merci beaucoup!

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

Discussions similaires

  1. [WD-2007] Problème de remplactement d'un mot dans une boucle
    Par yberard dans le forum VBA Word
    Réponses: 0
    Dernier message: 13/07/2017, 06h10
  2. Problème de lecture d'un stream dans une boucle
    Par Kerberos69 dans le forum VBScript
    Réponses: 3
    Dernier message: 09/03/2009, 19h43
  3. Problème avec une DLL dans une boucle For
    Par BraDim dans le forum Langage
    Réponses: 5
    Dernier message: 20/09/2005, 12h22
  4. Problème avec TNMSMTP dans une boucle.
    Par Orgied dans le forum Web & réseau
    Réponses: 3
    Dernier message: 07/04/2004, 10h19
  5. [Vb.net] Indexé un objet crée dans une boucle
    Par picpic dans le forum Windows Forms
    Réponses: 10
    Dernier message: 17/12/2003, 14h37

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