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