Datatable en matrice 2d

Soyez le premier à donner votre avis sur cette source.

Snippet vu 5 788 fois - Téléchargée 16 fois

Contenu du snippet

Je dépose cette petite source toute simple car je viens de trouver cette astuce pour extraire
les données d'un DataTable sans passer par un DataGridView.

Source / Exemple :


Private Function DataTable_ToMatrice(ByVal Table As DataTable) As String(,)
        'Auteur: CGSI3 But: Donne la Matrice 2D (en String) de la DataTable
        Dim Mat As String(,)
        Dim Row As DataRow, X As Integer, Y As Integer = -1
        ReDim Mat(Table.Rows.Count - 1, Table.Columns.Count - 1)
        For Each Row In Table.Rows
            Y = Y + 1 : X = 0
            For Each PIc In Row.ItemArray
                Mat(Y, X) = PIc.ToString : X = X + 1
            Next
        Next
        Return Mat
    End Function

Conclusion :


C'était si simple ...

A voir également

Ajouter un commentaire

Commentaires

Messages postés
416
Date d'inscription
vendredi 22 février 2008
Statut
Membre
Dernière intervention
7 janvier 2018
1
Bonjour,
Effectivement cela marche !
Avec 2 boucles For sur x et y
Table.Rows(x)(y).toString
donne toutes les valeurs de la Table.
Très constructif ...
(Cette méthode n'est pas décrite dans MSDN)
Grand Merci Bill2Web
Messages postés
2
Date d'inscription
jeudi 28 septembre 2006
Statut
Membre
Dernière intervention
30 juin 2011

Sauf erreur un simple
Table.rows[x][y].toString
permet d'accéder à tout ce que tu veux ... pas besoin de le mémoriser dans un tableau de strings :p
Messages postés
234
Date d'inscription
jeudi 18 janvier 2007
Statut
Membre
Dernière intervention
3 novembre 2011

CGSI3,

BIGBOSS9 a absolument raison : Il ne s'agit là que d'une boucle itérative. Je n'y vois pas "d'astuce". Essaie de nous expliquer plus clairement l’intérêt.

Simon
Messages postés
416
Date d'inscription
vendredi 22 février 2008
Statut
Membre
Dernière intervention
7 janvier 2018
1
Bonjour BigBoss9,

" Crois-tu réellement que les données sont organisées dans le DataGridView ? ou dans le DataTable ? Un peu de réflexion quand même ! "
Je ne crois rien, je cherche ... et merci le bonnet d'âne !
Les données ne sont pas organisés dans un DataTable ??
Tu sais utiliser un DataRow autrement que sous cette forme ?
Eclaire nous de tes lumières mon ami.

N'ayant rien trouvé qui m'éxonère de la création d'un datagridview pour extraire les données d'un DataTable, je vous fais part de cette solution.
Elle répond a une question d'un ami qui n'as pas trouvé de réponse a un probleme de transformation de tableau entre dimensions (par serialisation) et sa sauvegarde.
Je lui montre juste que l'utilisation de sgbd pour ce type de stockage et sa lecture est possible.
Il est évident que ne suis pas dans une approche optimale et normale des SGBD mais dans une recherche de stockage de mes matrices de manière simple et lisible.
J'ai d'ailleurs pratiquement fini son opposé soit la transformation de matrice2D en DataTable.
Elle n'est en rien un exemple pour l'utilisation "Normale" des sgbd mais "Dérivée" pour d'autres problèmes ...
Merci quand même du commentaire ...
Messages postés
162
Date d'inscription
jeudi 22 janvier 2004
Statut
Membre
Dernière intervention
20 juillet 2013

L'objet DataTable inclut des propriétés comme Columns, Rows, Tables permettant d'accéder aux données ... Crois-tu réellement que les données sont organisées dans le DataGridView ? ou dans le DataTable ? Un peu de réflexion quand même !

La seule chose que fait ton code, c'est multiplier par deux la consommation de mémoire des données chargées ... Peu utile. 3/10.

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.