Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

datagridview et disposition des données.

2 réponses
Avatar
Raphaël THERY
bonjour,
je souhaite chargée les données d'un fichier XML dans mon datagridview.
Le fichier se présente sous la forme
<dictionnaire xml:lang="fr">
<entry>
<translation>terme-en-français</translation>
<translation xml:lang="en">traduction-en-anglais</translation>
</entry>
</dictionnaire>

il y a autant de <entry /> que de couple terme-traduction. Le problème c'est
que mon datagridview affiche
colonne 1 colonne 2
<vide> terme-en-français
en traduction-en-anglais.

comment faire pour que chaque translation deviennent une colonne à part
entière.

d'avance merci
Raphaël

2 réponses

Avatar
Jérôme PINNEAU
Bonjour,

Tu serais sous SQL Server, je te dirais de faire un PIVOT pour cela.
Sinon, si tu peux modifier ta structure comme ci-dessous, tu auras ce que tu
veux.
Si tu veux faire de la tradaction, tu devrais utiliser le système de
localisation du .Net qui est vraiment efficace, et performant
(inutile de réinventer la poudre :-) )
Sinon, si tu veux plutôt stocker cela pour un traducteur, je te conseil de
stocker cela via un DataSet typé, avec une sérialisation et désérialisation
binaire, car avec un fichier XML à gérer toi même tu auras certainement des
problèmes de performances a résoudre.
Exemple de fichier pour tes colonnes :
<dictionnaires>
<dictionnaire xml:lang="fr">
<entry>
<clef>IDunique</clef>
<translation xml:lang="en">traduction-en-anglais</translation>
</entry>
</dictionnaire>
<dictionnaire xml:lang="en">
<entry>
<clef>IDunique</clef> // Identique à la clef en français
<translation>traduction-en-anglais</translation>
</entry>
</dictionnaire>
</dictionnaires>

"Raphaël THERY" wrote in message
news:461d4329$0$28911$
bonjour,
je souhaite chargée les données d'un fichier XML dans mon datagridview.
Le fichier se présente sous la forme
<dictionnaire xml:lang="fr">
<entry>
<translation>terme-en-français</translation>
<translation xml:lang="en">traduction-en-anglais</translation>
</entry>
</dictionnaire>

il y a autant de <entry /> que de couple terme-traduction. Le problème
c'est que mon datagridview affiche
colonne 1 colonne 2
<vide> terme-en-français
en traduction-en-anglais.

comment faire pour que chaque translation deviennent une colonne à part
entière.

d'avance merci
Raphaël




Avatar
Raphaël THERY
bonjour,
et merci pour ces explications.

Je suis effectivement dans le cas 2. Il y a un traducteur pour qui j'avais
réalisé il y a quelques temps une macro Excel afin qu'il puisse manipuler le
fichier XML.
la solution est satisfaisante mais présente quelques soucis que je
souhaitais résoudre avec une appli c#.

Par conséquent et si j'ai bien compris les explications. Je n'ai pas
d'autres choix que de transformer ce fichier si je souhaite le manipuler.
Je viens d'expérimenter les dataset typé et la sérialisation XML ... il me
reste plus qu'un pas pour la sérialisation binaire ;-)

encore merci
Raphaël


"Jérôme PINNEAU" a écrit dans le message de news:

Bonjour,

Tu serais sous SQL Server, je te dirais de faire un PIVOT pour cela.
Sinon, si tu peux modifier ta structure comme ci-dessous, tu auras ce que
tu veux.
Si tu veux faire de la tradaction, tu devrais utiliser le système de
localisation du .Net qui est vraiment efficace, et performant
(inutile de réinventer la poudre :-) )
Sinon, si tu veux plutôt stocker cela pour un traducteur, je te conseil de
stocker cela via un DataSet typé, avec une sérialisation et
désérialisation binaire, car avec un fichier XML à gérer toi même tu auras
certainement des problèmes de performances a résoudre.
Exemple de fichier pour tes colonnes :
<dictionnaires>
<dictionnaire xml:lang="fr">
<entry>
<clef>IDunique</clef>
<translation xml:lang="en">traduction-en-anglais</translation>
</entry>
</dictionnaire>
<dictionnaire xml:lang="en">
<entry>
<clef>IDunique</clef> // Identique à la clef en français
<translation>traduction-en-anglais</translation>
</entry>
</dictionnaire>
</dictionnaires>

"Raphaël THERY" wrote in message
news:461d4329$0$28911$
bonjour,
je souhaite chargée les données d'un fichier XML dans mon datagridview.
Le fichier se présente sous la forme
<dictionnaire xml:lang="fr">
<entry>
<translation>terme-en-français</translation>
<translation xml:lang="en">traduction-en-anglais</translation>
</entry>
</dictionnaire>

il y a autant de <entry /> que de couple terme-traduction. Le problème
c'est que mon datagridview affiche
colonne 1 colonne 2
<vide> terme-en-français
en traduction-en-anglais.

comment faire pour que chaque translation deviennent une colonne à part
entière.

d'avance merci
Raphaël