a1331
Messages postés5Date d'inscriptionjeudi 12 juillet 2012StatutMembreDernière intervention25 juillet 2012
-
20 juil. 2012 à 10:54
a1331
Messages postés5Date d'inscriptionjeudi 12 juillet 2012StatutMembreDernière intervention25 juillet 2012
-
25 juil. 2012 à 10:35
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 ?
CGSI3
Messages postés416Date d'inscriptionvendredi 22 février 2008StatutMembreDernière intervention 7 janvier 20181 21 juil. 2012 à 01:38
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