FILTRER UN DATASET VIA UN DATAVIEW.ROWFILTER PUIS LE SAUVER EN XML

Signaler
Messages postés
1221
Date d'inscription
jeudi 23 août 2001
Statut
Membre
Dernière intervention
9 septembre 2018
-
Messages postés
91
Date d'inscription
dimanche 18 août 2002
Statut
Membre
Dernière intervention
21 février 2015
-
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/32544-filtrer-un-dataset-via-un-dataview-rowfilter-puis-le-sauver-en-xml

Messages postés
91
Date d'inscription
dimanche 18 août 2002
Statut
Membre
Dernière intervention
21 février 2015

Ah au fait encore une chose : merci à Patrice, sans qui je n'aurais probablement pas trouvé.
Messages postés
91
Date d'inscription
dimanche 18 août 2002
Statut
Membre
Dernière intervention
21 février 2015

Ah au fait ça y est j'ai envoyé le retour à Microsoft.
Messages postés
91
Date d'inscription
dimanche 18 août 2002
Statut
Membre
Dernière intervention
21 février 2015

J'ai trouvé !
Le bug du constructeur DataView à quatre paramètres se situe au niveau de l'aide.
On demande une chaîne de caractères en deuxième posision pour préciser le filtre, donc, intuitivement, on se dit que si on ne veut pas mettre de filtre il faut y mettre une chaîne vide. Si on fait ça, le tri ne fonctionne pas. Il faut mettre null, et oublier tout le reste.
Messages postés
91
Date d'inscription
dimanche 18 août 2002
Statut
Membre
Dernière intervention
21 février 2015

Bon, ce n'est pas tout-à-fait ça.
Nous avons utilisé des constructeurs différents, et le comportement de la DataView est différent selon le constructeur utilisé. Si je ne m'abuse tu t'es surtout intéressé au filtre, ce qui fait que les particularités concernant le tri ne t'ont pas perturbé.
Apparemment, la (ou en tout cas une) bonne tactique pour trier une table consiste à déclarer la DataView avec juste en premier argument le clône de la table, pour chaque enregistrement créer une occurrence de la DataView par AddNew, copier les valeurs de chaque champ sur cette nouvelle occurrence, et pour finir, après cette boucle, initialiser la propriété Sort de la DataView. Dans le test que j'ai rapidement fait je n'ai renseigné que le champ qui sert au tri, mais ça me paraît une voie prometteuse.
ça laisserait entendre un bug au niveau du constructeur de DataView comportant directement un champ de tri ?
Afficher les 18 commentaires