L'éditeur JavaScript
Visiteur non-identifié | Identifiez-vous | Devenir membre
Code perdu ? | Combien de visiteurs sur votre site ?
Rechercher :
Page d'accueil
     Home Page

JavaScript
     Tous les scripts
     Proposer un script
     Recherche de script
     AJAX
     Cours de JavaScript
     Liste de discussion
     Forums

Services :
     CountUs
     myCircle
     ClickInText
     XooIt

Trucs et astuces :
     HTML / CSS
     PHP / MySQL
     Réferencement
     Graph / Présentation
     Toutes les astuces
     Ajouter un article

MailingList :
122620 abonnés

Annuaire webmaster :      Hebergement web
     Referencement
     Sites webmasters
     XHTML - CSS2
     PHP
     Affiliation - Pub
     FAI

     Annuaire webmaster

Ressources pour webmasters :
     Kit graphique
     Foire aux questions
     Les membres
     Devenir annonceur
     Faire un lien
     Contact

Partenaire :
     Compteur live
     Créer un forum
     Le PHP facile
     Comscripts
     Liens sponsorisés
     Blog
     Page Rank
     Gifs animés, f...
     Poésie et cita...
     Azote.org - no...
     Easy-script.com
     Web creation ...
     Je crée mon site
     Outils de créa...
     Electroniq...
     K i s s design
     Créer son site...
     Les autres
     Votre site ici ?


Le forum ] [ Préférences ] [ Nouveau sujet ] [ Répondre ] [ Recherche ] [ Vos sujets ] [ Tous lus ] [ Flux RSS ]


[ Forums >> JavaScript >> Problèmes de création JavaScript / DHTML >> Séparer entètes et tableau ]

> Séparer entètes et tableau
[ Posté par Malabarbe ] [ Détails ] [ Contact ] [ Citer ]
[ Posté le 19-02-2010 à 19:07 | 70 messages ]

Bonsoir à tous,

J'ai fait un tri dynamique de tableau HTML avec le DOM

Mon tableau s'affiche dans un div avec un overflow

Quand le nombre de lignes du tableau dépasse la hauteur
imposée par le div, en jouant avec l'ascensseur la ligne
d'entète disparait dans le haut de la liste, et par le
fait on ne vois plus le nom des colonnes et donc plus
de possibilité d'effectuer un tri.

Voici mon code :
<HTML>
<STYLE>
#trier { background-color:white; color:black; border-collapse:collapse; BORDER:white 1px solid; FONT:12 Arial; TEXT-ALIGN:center }
#trier TR { background-color:#ffefd5 }
#trier .title { background-color:#bf2b2f; FONT:14 Arial; color:#ffffff; font-weight:bold }
SPAN { FONT:bold 12 Arial; CURSORointer }
#trier TD { BORDER:white 1px solid; }
BODY { background-color:#FFF5E5;}
</STYLE>

<SCRIPT>
var index
function sort_int(p1,p2) { return p1[index]-p2[index]; } //fonction pour trier les nombres
function sort_char(p1,p2) { return ((p1[index]>=p2[index])<<1)-1; } //fonction pour trier les strings

function TableOrder(e,Dec) //Dec= 0:Croissant, 1écroissant
{ //---- Détermine : oCell(cellule) oTable(table) index(index cellule) -----//
var FntSort = new Array()
if(!e) e=window.event
for(oCell=e.srcElement?e.srcElement:e.target;oCell.tagName!="TD";oCell=oCell.parentNode); //determine la cellule sélectionnée
for(oTable=oCell.parentNode;oTable.tagName!="TABLE";oTable=oTable.parentNode); //determine l'objet table parent
for(index=0;oTable.rows[0].cells[index]!=oCell;index++); //determine l'index de la cellule

//---- Copier Tableau Html dans Table JavaScript ----//
var Table = new Array()
for(r=1;r<oTable.rows.length;r++) Table[r-1] = new Array()

for(c=0;c<oTable.rows[0].cells.length;c++) //Sur toutes les cellules
{ var Type;
objet=oTable.rows[1].cells[c].innerHTML.replace(/<\/?[^>]+>/gi,"")
if(objet.match(/^\d\d[\/-]\d\d[\/-]\d\d\d\d$/)) { FntSort[c]=sort_char; Type=0; } //date jj/mm/aaaa
else if(objet.match(/^[0-9£?$\.\s-]+$/)) { FntSort[c]=sort_int; Type=1; } //nombre, numéraire
else { FntSort[c]=sort_char; Type=2; } //Chaine de caractère

for(r=1;r<oTable.rows.length;r++) //De toutes les rangées
{ objet=oTable.rows[r].cells[c].innerHTML.replace(/<\/?[^>]+>/gi,"")
switch(Type)
{ case 0: Table[r-1][c]=new Date(objet.substring(6),objet.substring(3,5),objet.substring(0,2)); break; //date jj/mm/aaaa
case 1: Table[r-1][c]=parseFloat(objet.replace(/[^0-9.-]/g,'')); break; //nombre
case 2: Table[r-1][c]=objet.toLowerCase(); break; //Chaine de caractère
}
Table[r-1][c+oTable.rows[0].cells.length] = oTable.rows[r].cells[c].innerHTML
}
}

//--- Tri Table ---//
Table.sort(FntSort[index]);
if(Dec) Table.reverse();

//---- Copier Table JavaScript dans Tableau Html ----//
for(c=0;c<oTable.rows[0].cells.length;c++) //Sur toutes les cellules
for(r=1;r<oTable.rows.length;r++) //De toutes les rangées
oTable.rows[r].cells[c].innerHTML=Table[r-1][c+oTable.rows[0].cells.length];
}
</SCRIPT>

<body>
<p>&nbsp;</p>
<p>&nbsp;</p>
<center>
<table id=trierrr align="center">
<tr class=title>
<td>Chevaux <span onclick=TableOrder(event,1)>&#9660;</span><span onclick=TableOrder(event,0)>&#9650;</span></td>
<td>Date <span onclick=TableOrder(event,1)>&#9660;</span><span onclick=TableOrder(event,0)>&#9650;</span></td>
<td>Age <span onclick=TableOrder(event,1)>&#9660;</span><span onclick=TableOrder(event,0)>&#9650;</span></td>
<td>Ind <span onclick=TableOrder(event,1)>&#9660;</span><span onclick=TableOrder(event,0)>&#9650;</span></td>
</tr>

</table>
<div align="center" style="height:100px; width:340px; overflow:auto; font-family: Times New Roman; font-size: 10px">
<table>
<tr><td style="text-align: left"><a id="aff2" class="tt2">&nbsp;TORNADE DU
DECLIC&nbsp;&nbsp; </a></td><td>&nbsp;20/03/2005&nbsp;</td><td>4</td><td id=money>127.1 </td></tr>
<tr><td style="text-align: left"><a id="aff3" class="tt2">&nbsp;PITCHPIN DES
BOIS</a></td><td>&nbsp;22/02/2005&nbsp;</td><td> 3</td><td id=money>127.8</td></tr>
<tr><td style="text-align: left"><a id="aff3" class="tt2">&nbsp;PITCHPIN DES
BOIS</a></td><td>&nbsp;22/04/2005&nbsp;</td><td> 3</td><td id=money>127.3</td></tr>
<tr><td style="text-align: left"><a id="aff4" class="tt2">&nbsp;RENATE DES
LANDES</a></td><td>&nbsp;23/02/2005&nbsp;</td><td>7</td><td id=money>128.2</td> </tr>
<tr><td style="text-align: left"><a id="aff5" class="tt2">&nbsp;MIGUEL DES
VOLOS</a></td><td>&nbsp;23/05/2005&nbsp;</td><td>6</td><td id=money>129.6</td></tr>
<tr><td style="text-align: left"><a id="aff6" class="tt2">&nbsp;NIKY DU
DONJON</a></td><td>&nbsp;23/02/2006&nbsp;</td><td>5</td><td id=money>131.3</td></tr>
<tr><td style="text-align: left"><a id="aff6" class="tt2">&nbsp;NIKY DU
GOLF</a></td><td>&nbsp;23/02/2005&nbsp;</td><td>5</td><td id=money>128.6</td></tr>
</table>
</div>
</body>
</html>


Mais la, j'ai une erreur dans la partie javascript :
oCell=oCell.parentNode a la valeur null

Je ne m'en sort pas , si vous avez une idée !







Services email :

Vous devez vous identifier pour profiter des services par email du forum.
Le forum ] [ Préférences ] [ Nouveau sujet ] [ Répondre ] [ Recherche ] [ Vos sujets ] [ Tous lus ] [ Flux RSS ]






compteur gratuit
actuellement en ligne

    PUBLICITE



     ANNUAIRE WEBMAST.
Sivit
Un des leaders du serveur dédié en France.
http://www.sivit.fr
Cat : Serveurs dédiés
Voir l'annuaire webmaster


     LES SCRIPTS :
78 à éditer
68 à copier/coller
247 des membres
2580 sur le web
>> Tous les scripts

     LES MEMBRES :
65980 membres
4655 comptes CountUs
1842 comptes myCircle

     LES FORUMS :
14 forums
40362 topics
191691 messages
>> Les forums

    SONDAGE

Vous avez un blog ou site classique ?
Un blog
Un site classique
Les deux !
La mini-astuce "Divers" du jour par mirage
Simplifiez-vous les forums : http://update.mozilla.org/extensions/moreinfo.php?id=128&vid=196&category=Miscellaneous ! Avec ce petit menu ajouté à vos options du clic droit, vous avez toutes les balises BBCode ! Très pratique pour le forum de l'EJS ;)
Proposer votre mini-astuce | Archives des mini-astuces
© 1999-2012 EJS - Tous droits réservés | CNIL N° 844440 | 13/02/2012 00:39:27 | Design by | Gen. en 0.33 sec.