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

Signaler
Messages postés
370
Date d'inscription
dimanche 28 mars 2004
Statut
Membre
Dernière intervention
13 avril 2007
-
sbso
Messages postés
3
Date d'inscription
samedi 6 juin 2009
Statut
Membre
Dernière intervention
23 octobre 2010
-
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

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

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

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

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

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

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

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

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

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

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

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

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

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

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