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 avec DataGridView


Sujet :

VB.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Avril 2010
    Messages
    219
    Détails du profil
    Informations forums :
    Inscription : Avril 2010
    Messages : 219
    Par défaut Problème avec DataGridView
    Bonjour,
    j'ai une application client qui reçoit les données d'un serveur que j'affiche dans un DataGridView.
    Seulement lorsque celle-ci s'affiche,le tableau rajoute des lignes vides à la fin du tableau...Et si je reçoit de nouvelles données d'autres lignes vides vont se rajouter à la fin du tableau.

    Voici ma fonction qui traire les données et les mets dans le tableau:
    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
     
    Function MiseEnFormeDonnees(ByVal data As String) As Integer
     
            Dim Tab() As String = Split(data, SEP) ', , CompareMethod.Text)
     
            Dim i As Integer = 0
            Dim j As Integer = 0
     
            For Each kvp As KeyValuePair(Of String, String) In Dico.DicEssais
                If kvp.Value <> Nothing Then
                    DataGridView1.Rows.Add()
                    DataGridView1.Rows(j).Cells(0).Value = kvp.Value
                    j = j + 1
                End If
            Next kvp
     
            For Each Element In Tab
                If Element <> Nothing Then
                    DataGridView1.Rows.Add()
                    DataGridView1.Rows(i).Cells(1).Value = Element
                    i = i + 1
                End If
            Next
     
            Return Tab.Length
     
        End Function
    et voilà le code de ma fonction qui permet de recevoir les données et qui fait appel à la fonction Du dessus pour traiter les données:

    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
    34
    35
    36
    37
    38
    39
     
    Function recevoir() As String
     
            Dim returnData As String = Nothing
            Dim inStream(10024) As Byte
            Dim serverStream As NetworkStream
            Dim x As Integer = 0
     
            If clientSocket.Connected Then
                Try
                    serverStream = clientSocket.GetStream()
                    serverStream.Read(inStream, 0, CInt(clientSocket.ReceiveBufferSize))
                    returnData = System.Text.Encoding.ASCII.GetString(inStream)
     
                    Dim len As Integer = returnData.IndexOf("$")
     
                    If len < 0 Then
                        len = 0
                    End If
     
                    If Donnees.ETAT = Donnees.ATTE Or Donnees.ETAT = Donnees.CONN Then
                        MiseEnFormeConn(returnData)
                    Else
                        If Donnees.ETAT = Donnees.AUTH Then
                            x = MiseEnFormeDonnees(returnData)
                            MsgBox(x)
                        End If
                    End If
     
                    returnData = returnData.Substring(0, len)
     
                Catch ex As Exception
                    'MsgBox(ex.Message)
                    msg(Donnees.ERR_REC)
                End Try
            End If
            Return returnData
     
        End Function
    je ne vois pas où est le problème.Merci d'avance

  2. #2
    Membre Expert Avatar de mactwist69
    Homme Profil pro
    Développement VB.NET
    Inscrit en
    Janvier 2007
    Messages
    1 707
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Saône et Loire (Bourgogne)

    Informations professionnelles :
    Activité : Développement VB.NET
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 707
    Par défaut
    Le datagridview a une propriétés:

    AllowUserToAddRow

    Si tu la mets à False, il n'y aura plus de ligne vide a la fin

  3. #3
    Membre confirmé
    Inscrit en
    Avril 2010
    Messages
    219
    Détails du profil
    Informations forums :
    Inscription : Avril 2010
    Messages : 219
    Par défaut
    Je viens d'essayer mais ça ne marche pas.Il rajoute toujours des lignes vides à la fin

  4. #4
    Rédacteur
    Avatar de Hinault Romaric
    Homme Profil pro
    Consultant
    Inscrit en
    Janvier 2007
    Messages
    4 570
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Cameroun

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

    Informations forums :
    Inscription : Janvier 2007
    Messages : 4 570
    Billets dans le blog
    121
    Par défaut
    salut,

    Au lieu du Nothing du devrais plutôt vérifier si la chaine est vide.

    @++
    Vous souhaitez participer aux rubriques .NET ? Contactez-moi

    Si déboguer est l’art de corriger les bugs, alors programmer est l’art d’en faire
    Mon blog, Mes articles, Me suivre sur Twitter
    En posant correctement votre problème, on trouve la moitié de la solution

  5. #5
    Membre confirmé
    Inscrit en
    Avril 2010
    Messages
    219
    Détails du profil
    Informations forums :
    Inscription : Avril 2010
    Messages : 219
    Par défaut
    j'ai essayé ceci mais toujours rien...
    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
    34
    35
    36
    37
    38
    39
    40
     
    Function recevoir() As String
     
            Dim returnData As String = Nothing
            Dim inStream(10024) As Byte
            Dim serverStream As NetworkStream
            Dim x As Integer = 0
     
            If clientSocket.Connected Then
                Try
                    serverStream = clientSocket.GetStream()
                    serverStream.Read(inStream, 0, CInt(clientSocket.ReceiveBufferSize))
                    returnData = System.Text.Encoding.ASCII.GetString(inStream)
     
                    Dim len As Integer = returnData.IndexOf("$")
     
                    If len < 0 Then
                        len = 0
                    End If
                  If returnData <>Nothing
                    If Donnees.ETAT = Donnees.ATTE Or Donnees.ETAT = Donnees.CONN Then
                        MiseEnFormeConn(returnData)
                    Else
                        If Donnees.ETAT = Donnees.AUTH Then
                            x = MiseEnFormeDonnees(returnData)
                            MsgBox(x)
                        End If
                    End If
                  end if
     
                    returnData = returnData.Substring(0, len)
     
                Catch ex As Exception
                    'MsgBox(ex.Message)
                    msg(Donnees.ERR_REC)
                End Try
            End If
            Return returnData
     
        End Function

  6. #6
    Rédacteur
    Avatar de Hinault Romaric
    Homme Profil pro
    Consultant
    Inscrit en
    Janvier 2007
    Messages
    4 570
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Cameroun

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

    Informations forums :
    Inscription : Janvier 2007
    Messages : 4 570
    Billets dans le blog
    121
    Par défaut
    C'est tout a fait normal, ce que tu a fait ne change rien.

    ReturnData doit contenir des caractères vide, essaye

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    MiseEnFormeConn(returnData.trim())
    Vous souhaitez participer aux rubriques .NET ? Contactez-moi

    Si déboguer est l’art de corriger les bugs, alors programmer est l’art d’en faire
    Mon blog, Mes articles, Me suivre sur Twitter
    En posant correctement votre problème, on trouve la moitié de la solution

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

Discussions similaires

  1. probléme avec datagridview
    Par mounim_taoufik dans le forum Windows Forms
    Réponses: 3
    Dernier message: 08/12/2009, 16h11
  2. Réponses: 2
    Dernier message: 01/04/2009, 10h35
  3. Problème avec datagridview et dataset
    Par CenToRy dans le forum VB.NET
    Réponses: 1
    Dernier message: 20/11/2008, 18h56
  4. Problème avec DataGridView
    Par andy38 dans le forum VB.NET
    Réponses: 10
    Dernier message: 24/01/2008, 02h14
  5. Problème avec DataGridView et Localizable
    Par blistex dans le forum ASP.NET
    Réponses: 3
    Dernier message: 10/07/2007, 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