Vous êtes ici : Accueil > Forum > Programmation JavaScript et HTML > Forum : Sujet «tri dynamique tableau DOM»

Forum

tri dynamique tableau DOM

Posté par aetfifi le samedi 10 février 2007 09:48 : [Voir le profil de aetfifi]

Bonjour à tous,
Présentaion sommaire : je suis à peu prêt nul en langage (et quand je dis à peu prêt ....)
Je cherche à faire un tri dynamique de tableau (3 colonnes)comme indiqué dans un des javascript du site.
Problème : quelle que soit la colonne cliquée, le tri ne se fait que sur la colonne 2.
Voila plus d'un mois que je sui dessus, mais là, j'abandonne. Qui peut me donner un coup de main ?

(comme je suis nul, j'utilise FrontPage (oui, je sais !!!))



Vous pouvez allez voir là :
http://www.aet-fifi.com/aetfifi/Photos_donnees_LM/01Photos_donnees_essai_tri3.htm

Posté par aetfifi le samedi 17 février 2007 11:07 : [Voir le profil de aetfifi]

Bon, ben .... ça ne se bouscule pas.

Patience donc ...

@+

Posté par QuentinC le dimanche 18 février 2007 13:21 : [Voir le profil de QuentinC]

Bonjour,
Désolé, j'ai complètement zappé ton message.

IL faudra sûrement que tu redéfinisses les critères de tri dans le script. J'avais conçu ce script pour trier des données simples, c'est-à-dire des nombres ou des chaînes de texte.
Or chez toi, c'est, à choix : une date, ou un lien. Mon script actuel tel qu'il est proposé ne permet pas de trier ce type de colonnes.
Pour les liens, il les considérera tous à égalité car il ne trouvera pas de noeud DOM texte en première position. .
Pour les dates, il va les trier lexicographicalement, ce qui produit un ordre erroné : 01/01/07 passant avant 10/12/06 passant lui-même avant 28/02/07.

QuentinC > Webmaster

Posté par aetfifi le mercredi 7 mars 2007 17:39 : [Voir le profil de aetfifi]

Salut Quentin,
Je ne pensais pas que tu serais le seul à répondre.
Bon ben, même s'il n'y a pas de solution à mon problème, du moins une solution faite pour un ignare comme moi, je te remercie de t'en être occupé.
Chapeau pour ton site qui est très sympa.
Bon courage.
@+

Posté par QuentinC le mercredi 7 mars 2007 21:21 : [Voir le profil de QuentinC]

aetfifi a écrit :


Je ne pensais pas que tu serais le seul à répondre.


Oh, tu sais, ce n'est pas un forum très fréquenté, et le 95% des membres sont des membres fantômes.

aetfifi a écrit :


Chapeau pour ton site qui est très sympa.


Merci pour ce gentil commentaire.

QuentinC > Webmaster

Posté par Dorian422 le mercredi 17 février 2010 10:23 : [Voir le profil de Dorian422]

Bravo pour ce site et merci pour ce commentaire et sa réponse qui m'ont permis de ne pas tourner en rond plus longtemps...

J'ai dépassé ce blocage en pourvoyant les cases de mon tableau d'un id:
<td id='text'><a href='http://lienversmapage.com>text</a></td>

et en transformant la fonction comme suit:

function sortTable (tb, n)
{
var iter = 0;
while (!tb.tagName || tb.tagName.toLowerCase()!= "table")
{
if (!tb.parentNode) return;
tb = tb.parentNode;
}
if (tb.tBodies && tb.tBodies[0]) tb = tb.tBodies[0];

/* Tri par sélection */
var reg = /^\d+(\.\d+)?$/g;
var index = 0, value = null, minvalue = null;
for (var i= tb.rows.length -1; i >= 0; i -= 1)
{
minvalue = value = null;
index = -1;
for (var j=i; j >= 0; j -= 1)
{
value = tb.rows[j].cells[n].id;
if (!isNaN(value)) value = parseFloat(value);
if(minvalue == null || value < minvalue) { index = j; minvalue = value; }
}

if (index != -1)
{
var row = tb.rows[index];
if (row) {
tb.removeChild(row);
tb.appendChild(row);}
}
}
}


et ça marche!

Posté par QuentinC le jeudi 18 février 2010 23:00 : [Voir le profil de QuentinC]

IL faudrait que je me décide à mettre la nouvelle version de ce script. JE ne sais pas quand.... mais j'en ai une en stock.

QuentinC > Webmaster

6 réponses [ Page : 1 ]

Répondre au sujet

Vous devez être membre pour pouvoir poster. Si vous êtes déjà inscrit, identifiez-vous grâce au formulaire ci-dessous, et sinon, inscrivez-vous maintenant.

 

 

Nouvelle inscription | Mot de passe perdu ?

Vous êtes ici : Accueil > Forum > Programmation JavaScript et HTML > Forum : Sujet «tri dynamique tableau DOM»

Dernière modification de cette page : Jeudi 18 février 2010 23:00
Haut de page  •  Contact  •  RSS  •  Valide XHTML 1.0 Notice : Undefined variable: titrePage : in /footer.php on line 55