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

Windows Forms Discussion :

Un DataBindingComplete qui ne change rien


Sujet :

Windows Forms

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Mai 2013
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Mai 2013
    Messages : 10
    Par défaut Un DataBindingComplete qui ne change rien
    Bonjour à tous !

    Je cherche à comprendre l'erreur dans mon code... mon datagridview1 ne se change jamais ... et je suis un bout dépourvu même après multiples recherches sur le web ! Si vous pouvez m'aider ca serait TRÈS apprécié...

    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
     Private Sub DataGridView1_DataBindingComplete(ByVal sender As Object, _
        ByVal e As DataGridViewBindingCompleteEventArgs) _
        Handles DataGridView1.DataBindingComplete
     
            Dim Visible As Boolean = False
            For Each Row As DataGridViewRow In DataGridView1.Rows
     
                Dim numero As Integer = Row.Cells(0).Value
                MessageBox.Show("Voyage non fermé teeest:" & numero)
     
                cmd3 = New SqlCommand("Select * FROM Porec WHERE REC_NO=" & numero, con2)
                If con2.State = ConnectionState.Closed Then con2.Open()
                Dim sdr3 As SqlDataReader = cmd3.ExecuteReader()
                While sdr3.Read = True
     
                    If sdr3.Item("Porec_close") <> 0 Then
                        Visible = False
                    Else
                        Visible = True
                    End If
     
                End While
                Row.Visible = Visible
                sdr3.Close()
     
            Next
     
        End Sub

  2. #2
    Membre émérite
    Homme Profil pro
    Architecte technique
    Inscrit en
    Septembre 2005
    Messages
    462
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : Architecte technique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2005
    Messages : 462
    Par défaut
    Salut,

    Je viens de tester un code presque similaire et cela marche parfaitement...

    En pas à pas à :
    - Tu passe bien dans ton événement ?
    - Le résultat de ta requête est correct "sdr3.Item("Porec_close")" ?


    PS : Est-ce que le plus simple ne serait pas supprimer tes lignes avant de "binder" à ta source !

  3. #3
    Membre averti
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Mai 2013
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Mai 2013
    Messages : 10
    Par défaut
    Un gros merci tout d'abord de me venir en aide ... fort apprécié je sais plus du tout où me lancer...

    j'ai mis ceci pour tester si je rentrais dans la boucle... et je ne vois que test 1 à deux reprises.. comme si mon appel de la rox.cells ne se fesait pas... si je l'enlève je rentre bien dedans.

    Je suis débutant et j'ai fait le datagridview dans le form.vb en graphique en allant chercher ma base sql... je ne vois pas nul part où j'aurais pu inséré un if pour visible ou non ...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    Private Sub DataGridView1_DataBindingComplete(ByVal sender As Object, _
        ByVal e As DataGridViewBindingCompleteEventArgs) _
        Handles DataGridView1.DataBindingComplete
     
            Dim Visible As Boolean = False
            For Each Row As DataGridViewRow In DataGridView1.Rows
                MessageBox.Show("test 1")
                Dim numeros As String = Row.Cells(0).Value
                MessageBox.Show("test 2")
                Dim numero As Integer = 0
                numero = CInt(numeros)
                MessageBox.Show("test 3")

  4. #4
    Membre averti
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Mai 2013
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Mai 2013
    Messages : 10
    Par défaut
    J'ai fait d'autres tests encore....

    Dans mon sql... le numero de reception (cell(0)) est un string et le rec_no dans l'autre table un integer... je crois cela me pause problème alors j'ai tout mis ainsi... mais je me rend jusqu'à test 5 en passant le 4(donc je rentre dans mes boucles/if) ... je n'ai cependant pas le 6... ca peut aider ?

    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
    32
    33
     Private Sub DataGridView1_DataBindingComplete(ByVal sender As Object, _
        ByVal e As DataGridViewBindingCompleteEventArgs) _
        Handles DataGridView1.DataBindingComplete
     
            Dim Visible As Boolean = False
            For Each Row As DataGridViewRow In DataGridView1.Rows
                MessageBox.Show("test 1")
                Dim numeros As String = Row.Cells(0).Value.ToString
                MessageBox.Show("test 2")
                Dim numero As Integer = 0
                MessageBox.Show("test 3")
                If numeros Is DBNull.Value Then
                    MessageBox.Show("test 4")
                Else
                    MessageBox.Show("test 5")
                    numero = Convert.ToInt32(numeros)
                    MessageBox.Show("test 6")
                    cmd3 = New SqlCommand("Select * FROM Porec WHERE REC_NO=" & numero, con2)
                    If con2.State = ConnectionState.Closed Then con2.Open()
                    Dim sdr3 As SqlDataReader = cmd3.ExecuteReader()
                    While sdr3.Read = True
     
                        If sdr3.Item("Porec_close") <> 0 Then
                            Visible = False
                        Else
                            Visible = True
                        End If
     
                    End While
                    Row.Visible = Visible
                    sdr3.Close()
                End If
            Next

  5. #5
    Membre émérite
    Homme Profil pro
    Architecte technique
    Inscrit en
    Septembre 2005
    Messages
    462
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : Architecte technique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2005
    Messages : 462
    Par défaut
    C'est un peu "old school" ta méthode pour débuguer.

    Tu utilises bien Visual Studio ?

    Car avec VS tu peux débuguer ton code et voir les valeurs de tes variables...

    Il suffit de mettre un point d'arrêt dans ton code (le point rouge) :
    Nom : breakpoint.jpg
Affichages : 108
Taille : 50,8 Ko

    Ensuite grâce à quelques touches tu pourras naviguer dans code (F5, F10, F11....)
    Nom : menu_debug.jpg
Affichages : 102
Taille : 35,7 Ko

    Tutos :
    Debogueur VS(Fr)
    Debugging VS(En)

  6. #6
    Membre averti
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Mai 2013
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Mai 2013
    Messages : 10
    Par défaut
    Bon... j'ai tout lu et modifier un peu le code... voici ce que cela donne... je ne comprend pas les variables sont bonnes et tout fonctionne... mais le 36260 que tu vois plus bas s'affiche pareil dans mon datagridview et pourtant j'ai vérifié il est -1 .... !!!
    Images attachées Images attachées  

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

Discussions similaires

  1. Réponses: 6
    Dernier message: 26/09/2005, 18h35
  2. SELECT qui ne retourne rien à cause d'anti-slash
    Par mikyfpc dans le forum Outils
    Réponses: 8
    Dernier message: 07/08/2005, 23h04
  3. Requete OR qui ne ramene rien
    Par Sapience dans le forum Langage SQL
    Réponses: 10
    Dernier message: 14/04/2005, 12h12
  4. procédure stockée qui ne fait rien
    Par trotters213 dans le forum MS SQL Server
    Réponses: 10
    Dernier message: 10/03/2005, 20h25
  5. [LG]Programme qui n'affiche rien
    Par ousunas dans le forum Langage
    Réponses: 4
    Dernier message: 17/02/2004, 19h38

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