Sub Import_Grid(ByVal Grille As DataGrid, ByRef Matrice As Single(,)) 'Auteur: CGSI3 But: Retourne un tableau dynamique représentant les valeurs d'un datagrid Dim Max1 As Integer, Max2 As Integer Max1 Grille.DataSource.Rows.Count - 1 : Max2 Grille.DataSource.columns.Count - 1 ReDim Matrice(Max1, Max2) For cp1 As Integer = 0 To Max1 For cp2 As Integer = 0 To Max2 Matrice(cp1, cp2) = Grille.Item(cp1, cp2) Next cp2 Next cp1 MsgBox(Grille.DataSource.Rows.Count & " Lignes") End Sub Sub Export_Grid(ByVal Grille As DataGrid, ByRef Matrice As Single(,)) 'Auteur: CGSI3 But: Retourne un tableau dynamique représentant les valeurs d'un datagrid MsgBox(Grille.DataSource.Rows.Count & " Lignes") Dim Max1 As Integer, Max2 As Integer Max1 Matrice.GetUpperBound(0) : Max2 Matrice.GetUpperBound(1) Dim DataTable As New DataTable DataTable = Grille.DataSource Dim C1 As Integer, C2 As Integer C1 = DataTable.Rows.Count - 1 Dim voDataRow As DataRow If C1 < Max1 Then 'ajout For cpt = C1 To Max1 - 1 voDataRow = DataTable.NewRow() DataTable.Rows.Add(voDataRow) Next Else 'Supprim For cpt = Max1 To C1 - 1 Grille.DataSource.Rows(Max1).delete() Next End If C2 = DataTable.Columns.Count - 1 'Dim voDataColumn As DataColumn If C2 < Max2 Then For cpt = C2 To Max2 - 1 'voDataColumn = DataTable DataTable.Columns.Add("") Next Else For cpt = Max2 To C2 - 1 Grille.DataSource.Columns(Max2).delete() Next End If For cp1 As Integer = 0 To Max1 For cp2 As Integer = 0 To Max2 Grille.Item(cp1, cp2) = Matrice(cp1, cp2) Next cp2 Next cp1 End Sub
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question