Problème affichage dataGridView [Résolu]

Signaler
Messages postés
5
Date d'inscription
jeudi 12 juillet 2012
Statut
Membre
Dernière intervention
25 juillet 2012
-
Messages postés
5
Date d'inscription
jeudi 12 juillet 2012
Statut
Membre
Dernière intervention
25 juillet 2012
-
Bonjour,

Je ne sais pas trop si je suis dans la bonne section j'ai un dataGridView dans lequel j'essaye de transférer les données que j'ai mis dans un tableau. Le problème c'est qu'à l'affichage, je n'ai que la dernière valeur de ce tableau. les lignes sont correctement ajoutées au fur et à mesure mais elles ne se remplissent pas. Voici ma boucle pour rentrer les valeurs du tableau dans le dataGridView
For i = 0 To tableau.Length - 1
            Me.MyDataGridView.Item(0, i).Value = tableau(i)
next


Je ne comprends pas comment c'est possible. Pourriez vous m'aiguiller ?

Merci d'avance

2 réponses

Messages postés
5
Date d'inscription
jeudi 12 juillet 2012
Statut
Membre
Dernière intervention
25 juillet 2012

Ok merci mais j'ai trouvé le problème ^^ Je faisais
redim tab(dimension)


au lieu de
redim preserve tab(dimension)

du coup tout ce qui était enregistré était effacé
Messages postés
416
Date d'inscription
vendredi 22 février 2008
Statut
Membre
Dernière intervention
7 janvier 2018
1
Bonsoir,
Je ne répond pas directement a ta question mais je te donne quelques éléments:

Il existe une solution pour initialiser un DataGridview avec un DataTable
DataGridView.DataSource = DataTable
ou
Tab => Dim Tab As List(Of List(Of String))
DataGridView.DataSource = Convert_Array( Tab , True) 'cf Function ci dessous
(Si entete=vrai Alors la premiere list contient le nom des Colonnes)


Ensuite il reste a initialiser le DataTable avec ton tableau
Je te le laisse convertir pour obtenir un List(Of List(Of String)) ou adapter cet exemple

  ''' <summary>
    ''' Renvoi un datatable a partir d'un List(Of List(Of String))
    ''' </summary>
    ''' Liste de Liste de String


    Public Function Convert_Array(ByRef Tab As List(Of List(Of String)), Optional ByVal Entete As Boolean = False) As DataTable
        Dim Ret As New DataTable, Nb As Integer 0, Start As Integer 0
        For Each Cells In Tab 'obtient la valeur maximum des array pour ajuster le nb de colonnes
            If Nb < Cells.Count Then Nb = Cells.Count
        Next
        If Entete Then
            For cpt = 1 To Nb 'ajoute les entetes de colonnes
                Ret.Columns.Add(Tab(0)(cpt - 1).ToString, GetType(String))
                Start = 1
            Next
        Else
            For cpt = 1 To Nb 'ajoute les entetes de colonnes
                Ret.Columns.Add("Col N° " & cpt - 1.ToString, GetType(String))
            Next
        End If
        For cpt = Start To Tab.Count - 1 'Ajout des lignes dans la table
            Dim Row As DataRow = Ret.NewRow
            Row.ItemArray = Tab(cpt).ToArray
            Ret.Rows.Add(Row)
        Next
        Ret.Columns.RemoveAt(0) 'Supprime la colonne d'index 0 (exemple)
        Return Ret
    End Function