TRI DYNAMIQUE D'UN TABLEAU HTML AVEC RECONNAISSANCE AUTOMATIQUE DES DONNEES
fg85
Messages postés370Date d'inscriptiondimanche 28 mars 2004StatutMembreDernière intervention13 avril 2007
-
5 mars 2005 à 14:05
sbso
Messages postés3Date d'inscriptionsamedi 6 juin 2009StatutMembreDernière intervention23 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.
sbso
Messages postés3Date d'inscriptionsamedi 6 juin 2009StatutMembreDernière intervention23 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és2Date d'inscriptionjeudi 9 avril 2009StatutMembreDernière intervention10 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és2Date d'inscriptionjeudi 9 avril 2009StatutMembreDernière intervention10 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és40Date d'inscriptionmardi 2 septembre 2003StatutMembreDernière intervention20 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és2Date d'inscriptionmardi 25 avril 2006StatutMembreDernière intervention19 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és14Date d'inscriptionvendredi 20 mai 2005StatutMembreDernière intervention13 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és23Date d'inscriptionmardi 2 août 2005StatutMembreDerniè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és8Date d'inscriptionvendredi 7 octobre 2005StatutMembreDernière intervention17 janvier 2006 13 oct. 2005 à 01:17
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és140Date d'inscriptionmercredi 28 avril 2004StatutMembreDernière intervention21 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és1Date d'inscriptionjeudi 23 octobre 2003StatutMembreDernière intervention29 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és2Date d'inscriptionmardi 26 avril 2005StatutMembreDernière intervention28 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és544Date d'inscriptionvendredi 5 décembre 2003StatutMembreDernière intervention20 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 :
23 oct. 2010 à 09:43
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.
10 avril 2009 à 14:09
// 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
10 avril 2009 à 12:11
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
6 sept. 2008 à 21:22
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
10 avril 2008 à 11:31
Temps de mise en place < 1 minutes.
Parfait
Encore merci !
18 mai 2007 à 19:01
Excuse moi pour le dérangement
28 déc. 2005 à 04:35
merci a vous
13 oct. 2005 à 01:17
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).
29 sept. 2005 à 13:18
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
29 sept. 2005 à 11:30
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.
28 avril 2005 à 03:19
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!
10 mars 2005 à 17:41
http://www.kryogenix.org/code/browser/sorttable/
5 mars 2005 à 15:31
Mais pour du texte, le tri ne se fait pas très bien. Je ne vois pas pourquoi.
5 mars 2005 à 14:05
----------------------
http://fg.logiciel.free.fr