Tri avec accents et majuscules

Bonjour,
Post plutt beginner, mais bon.
Lorsque je trie dans un record set pour un listbox, les mots dbutant avec un accent ou un minuscule se retrouve la fin.
Un truc pour contourner simplement afin ric vienne avant Erin et non linverse?
Merci

voir le paragraphe “custom sorts” vers le bas de la doc sur la listbox
http://developer.xojo.com/listbox

Merci Jean-Yves,
Je vais tenter d’assimiler, car comme dans beaucoup d’exemples, il me manque toujours un petit bout pour l’intgrer sans message d’erreur… Le bonheur d’apprendre sur le tas!
:slight_smile:

Prcision: il s’agit d’une Weblistbox…

Je suppose donc qu’il n’y a pas d’entrée Custom Sorts dans la doc ni de CompareRow Event…

C’est le moment de pleurer :frowning:

Et si tu mettais ta liste dans un Array, puis effectue le tri là, pluis recopie dans le WebListbox ? (si c’est faisable).

c’est faisable, c’est ce que je fais. Mes weblistboxes sont toujours juste l’affichage d’une table interne. J’utilise beaucoup les structures. Chaque lment de la structure correspond une cellule, chaque lment de la table correspond une ligne.

exemple:

[code]module1.structure zPersonne
nom as string * 50
prnom as string * 50
pays as string * 2
devise as string * 3

dans une page ou un container:
dim Personnes() as zPersonne

Personnes(0).Nom me donne le nom de famille de la premire personne.
dim I as integer
for I = 0 to ubound(Personnes)
myweblistbox.addrow(personne(I).Nom, Personne(I).Prnom, Personne(I).Pays)
next[/code]

J’utilise des algorithmes de tri divers selon le besoin. Je trie la table, dans cet exemple Personnes().

Et cette procdure rgle les problmes d’accents ?!?

Vous pouvez utiliser l’algorithme de comparaison et tri de votre choix. Accents ou pas. Par exemple sur Windows, Microsoft propose des fonctions de comparaison que vous pouvez utiliser pour trier les lments de la table. Mais ce n’est jamais simple. L’ordre de tri dpend parfois des paramtres de localisation.

Petite question sur les structures, c’est rapide? J’utilise personnellement un BD SQLite cre temporairement dans laquelle je transfre mes donnes pour effectuer le tri. J’ai un dlai acceptable bien qu’il croisse avec le nombre de lignes dans la liste.

vrifier, mais le temps qui augmente avec le nombre d’elements de la liste vient aussi du temps mettre les elements dans la liste, plus que du traitement dans la base sqlite.
pour tre affanchi presque du nombre d’elements, il ne faut afficher dans la liste que les elements visible par l’utilisateur, et raffraichir quand l’utilisateur a scroll. ainsi, on peut avoir des millions de lignes qui vont aussi vite que 50.

Ide intressante… a fonctionne comment exactement? Comment sait-on combien d’lments sont affichs, partir de quel lment afficher?

on connait la hauteur de la listbox (height)
on connait la hauteur d’une ligne (rowheight)
on connait la position de la scrollbar (si on a mis une autre scrollbar cot de la listbox et effac celle de la listbox)
quelques soustractions et divisions amnent au nombre de lignes visible l’cran.

Dsol pour le dlai. J’ai t l’cart quelque temps.

Excellent et apparat simple au premier abord.

Merci!