TRI DYNAMIQUE D'UN TABLEAU HTML AVEC RECONNAISSANCE AUTOMATIQUE DES DONNEES

fg85 Messages postés 370 Date d'inscription dimanche 28 mars 2004 Statut Membre Dernière intervention 13 avril 2007 - 5 mars 2005 à 14:05
sbso Messages postés 3 Date d'inscription samedi 6 juin 2009 Statut Membre Dernière intervention 23 octobre 2010 - 23 oct. 2010 à 09:43
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/29926-tri-dynamique-d-un-tableau-html-avec-reconnaissance-automatique-des-donnees

sbso Messages postés 3 Date d'inscription samedi 6 juin 2009 Statut Membre Dernière intervention 23 octobre 2010
23 oct. 2010 à 09:43
D'accord pour le tri du texte.
Mais si on a une mise en forme pour nos lignes ...
La mise en forme n'est pas triée, elle !
Donc notre objet reservé rouge passe en vert.
C'est génial.

Sinon ca aurait été vraiment bon ...
Dommage.
Teilleul Messages postés 2 Date d'inscription jeudi 9 avril 2009 Statut Membre Dernière intervention 10 avril 2009
10 avril 2009 à 14:09
En attendant, j'ai remplacé :
// nombre ou monnaie
} else if (cellContent.match(/^[0-9$£fF\.\s-]+$/))

Par :
// nombre ou monnaie
} else if ((cellContent.match(/^[0-9$£fF\.\s-]+$/)) && ((cellContent.split(".").length-1)<2))

Et les numéros de téléphone, sous la forme 01.02.03.04.05, sont maintenant triés correctement.

@+

T
Teilleul Messages postés 2 Date d'inscription jeudi 9 avril 2009 Statut Membre Dernière intervention 10 avril 2009
10 avril 2009 à 12:11
Bonjour,

Très bon script.
Je voudrais rajouter le tri des numéros de téléphone car actuellement une cellule contenant, par exemple, 01.02.03.04.05 est considérée comme un nombre.
J'imagine qu'il faudrait ajouter au test "// nombre ou monnaie" quelque chose comme :
&& (cellContent.match(/\./g)<2)

Cette expression régulière est incorrecte (je ne connais pas bien les expressions régulières). Ce que je cherche à "dire" c'est s'il y a plus de un . ce n'est pas un nombre et çà doit être traité comme une chaîne.

Une petite aide pour la correction de l'expression régulière, svp...

Autre possibilité : l'envoi de paramètres à sortHTMLTable.js pour "forcer" le type d'une colonne. Ainsi, dans mon cas, je pourrais lui dire : la colonne 3 (N° de téléphone) est 'string'.
L'avantage de cette solution par rapport à la précédente c'est que si l'utilisateur entre un numéro de téléphone sous la forme 01.02.03.04.05 ou 0102030405; le tri fonctionnera dans les deux cas.

Merci par avance de toute aide.

@+
T
patrick532 Messages postés 40 Date d'inscription mardi 2 septembre 2003 Statut Membre Dernière intervention 20 avril 2009
6 sept. 2008 à 21:22
salut,

pour exploitation dans un code PHP, il faut modifier la ligne du "case 1" comme suit:

case 1: Table[r-1][c]=parseFloat(objet.replace(/[^0-9.-]/g,\'\')); break; //nombre

pour ne pas avoir le message d'erreur T_CONSTANT_ENCAPSED_STRING.
de plus l'ajout de point virgule en fin des lignes "var" est plus propre (bien qu'inutile selon la majorité des navigateurs).
a part ça, ce code est sympa et utile, bravo.
A+
PAtrick532
cs_Orbiplanax Messages postés 2 Date d'inscription mardi 25 avril 2006 Statut Membre Dernière intervention 19 décembre 2006
10 avril 2008 à 11:31
Merci beaucoup !!!

Temps de mise en place < 1 minutes.

Parfait

Encore merci !
na_no_net Messages postés 14 Date d'inscription vendredi 20 mai 2005 Statut Membre Dernière intervention 13 juillet 2007
18 mai 2007 à 19:01
comment on peut trier une colonne qui contient des cases a coche c.a.d lorsqu'on clique sur la flèche les case sélectionner monte en haut et les case désélectionner descendre en bas (par exemple)
Excuse moi pour le dérangement
spoker91 Messages postés 23 Date d'inscription mardi 2 août 2005 Statut Membre Dernière intervention 3 janvier 2008
28 déc. 2005 à 04:35
y'a t'il un moyen pour que quand il tri un colone et que dans cette colone il y'est des chiffres identique qui mettent un ordre aléatoir pour ces deux chiffre identique ? car la j'ai l'impression qui pioche dans une autre colone pour les trier :s

merci a vous
zilx Messages postés 8 Date d'inscription vendredi 7 octobre 2005 Statut Membre Dernière intervention 17 janvier 2006
13 oct. 2005 à 01:17
Bonjour,

Ce script est excelent, et je me suis permis d'en faire une adaptation orienté objet qui se trouve ici : http://www.javascriptfr.com/code.aspx?ID=34180

J'ai developpé le script afin que des flèches soient ajoutées automatiquement dans les entêtes ainsi que les évènements correspondants (onClick), ainsi l'écriture des tableaux HTML reste simple (tableau normal sans avoir à ajouter les images (fleches) et les onclick correspondants).
larion Messages postés 140 Date d'inscription mercredi 28 avril 2004 Statut Membre Dernière intervention 21 juillet 2005
29 sept. 2005 à 13:18
Bonjour,

Le code source présent sur cette page est libre de droit.

Les différences avec le code payant sont certe minime mais font toute la différence :
- Il suffit d'un simple tableau html. Les flèches et le reste du code sont injectés automatiquement dans le(s) tableau(x) à l'affichage de votre page. Il n'est donc pas utilile comme ici de modifier le code html du tableau.
(Voir "3, Un exemple de tableau Html" sur http://sortable.pass-x.com)
- Zébrer les couleurs du tableau (en automatique).
- Changer la couleur des lignes du tableau au passage de la souris.
- 2 comportements des flèches :
--- une seule flèche visible pour visualiser la colonne triée
--- toute flèche visible mais une de couleur différente pour indiquer la colonne triée
cs_Amarius Messages postés 1 Date d'inscription jeudi 23 octobre 2003 Statut Membre Dernière intervention 29 septembre 2005
29 sept. 2005 à 11:30
A antoine_w :

Tu peux réaliser automatiquement un tri en provoquant un clic sur la cellule via javascript.
le plus simple est d'ajouter un ID sur la zone span que tu veuxc cliquer et ensuite utiliser la commande clic dans le onload du body :


et dans la table :
▲</td>



POUR larion :

j'ai vu sur le site
http://sortable.pass-x.com/
qu'il existe uen version payante (si peu) du code, qu'apporte-t-elle de plus que celle-ci?
Le code source présent sur cette page ici est-il open-source et réutilisable, modifiable, librement pour un site non-commercial?

merci, c'est du bon boulot en tout cas.
antoine_w Messages postés 2 Date d'inscription mardi 26 avril 2005 Statut Membre Dernière intervention 28 avril 2005
28 avril 2005 à 03:19
Salut, j'aimerais savoir comment faire pour trier automatiquement une colonne...
J'ai un tableau à 4 colonnes... et lorsque la page s'affiche, la première colonne est triée de la même façon que j'y ai entrée les données...et je dois cliquer sur mon icone... [ onclick=TableOrder(event,1) .....] afin de la trier...
J'ai essayer un [ onload=TableOrder(event,1) .....] et ça n'a pas marché.
La raison pourquoi je n'entre pas les donnés en ordres manuellement est que j'en ajoute frequemment.... et je veux les mettre une à la suite de l'autre pour que ce soit plus vite...
Merci de m'aider!
chimelpremier Messages postés 544 Date d'inscription vendredi 5 décembre 2003 Statut Membre Dernière intervention 20 mai 2005
10 mars 2005 à 17:41
Travail bien fait, tu trouvera peut-être de l'aide pour l'améliorer ici. Pour moi c'est le top :

http://www.kryogenix.org/code/browser/sorttable/
larion Messages postés 140 Date d'inscription mercredi 28 avril 2004 Statut Membre Dernière intervention 21 juillet 2005
5 mars 2005 à 15:31
Sous FireFox, le tri fonctionne bien pour les dates et les chiffres.
Mais pour du texte, le tri ne se fait pas très bien. Je ne vois pas pourquoi.
fg85 Messages postés 370 Date d'inscription dimanche 28 mars 2004 Statut Membre Dernière intervention 13 avril 2007
5 mars 2005 à 14:05
Si tu arrive refaire le script pour qu'il soit compatible avec le maximum de navigateur, la gloire est à toi ! mdr

----------------------
http://fg.logiciel.free.fr