Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : debutant: tableau dynamique:+ de col+de nom+changer couleur etc [ JavaScript Orienté objet (POO) / Function & Méthodes ] (truitas)

vendredi 6 juin 2008 à 17:54:44 | debutant: tableau dynamique:+ de col+de nom+changer couleur etc

truitas

Bonjour,
j'ai téléchargé( sur javascriptfr.com) ce code permettant d'effectuer le tri des colonnes d'un tableaux et j'ai plusieurs questions (je suis débutant):
1: comment faire pour ajouter des lignes et des colonnes au tableau?

2:j'aimerais faire un tableaux avec des colonnes: Massif, Durée (en lettre:week end, semaine, journée etc),difficultée(donnée chiffrées), prix , type (bien être, sportif etc)

3 pouvez vous me donner les lignes de code qu'il faut modifier?
merci
voic le code que j'ai inséré dans une page html vierge:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Document sans nom</title>
</head>

<body>
<html>

<HEAD>

<SCRIPT>
//    Code créé par francktfr pour www.systeme-d.net
function SortArray(aText,aHtml,Index,Order){
    var Test = Order > 0 ? "aText["+Index+"][b] > aText["+Index+"][a]" : "aText["+Index+"][b] < aText["+Index+"][a]" // Choix de la comparaison
    for (a = 0; a < aText[Index].length; a++)                //    Liste de tous les éléments du tableau
    {    
     for (b = 0; b < aText[Index].length ;b++)        //    Re-liste tous les éléments pour les comparer à Numbers[a]
     {
             if (eval(Test)) {
                    for (i=0; i<aText.length; i++){            //    Mise a jour des tableaux
                        Copy = aText[i][b]; aText[i][b] = aText[i][a]; aText[i][a] = Copy
                        Copy = aHtml[i][b]; aHtml[i][b] = aHtml[i][a]; aHtml[i][a] = Copy
                    }    
                }
     }
    }
}
function IsDate(sDate){    //    retourne true si c'est une date valide
if (sDate.length < 8){return false}
    var iDay = sDate.substring(0,2)
    var iMonth = sDate.substring(3,5)
    var iYear = sDate.substring(6)
    iDay = iDay*1
    iMonth = (iMonth*1)-1
    iYear = iYear*1
    var rDate = new Date(iYear,iMonth,iDay,0,0)
    if(rDate.toString() == "NaN"){return false}
    return true
}
function cDate(sDate){    //    Convertie une date du format JJ/MM/AAAA en date JavaScript
    var iDay = sDate.substring(0,2)
    var iMonth = sDate.substring(3,5)
    var iYear = sDate.substring(6)
    iDay = iDay*1
    iMonth = (iMonth*1)-1
    iYear = iYear*1
    var rDate = new Date(iYear,iMonth,iDay,0,0)
    return(rDate)
}

 
if (eval("window.captureEvents")) {
window.captureEvents(Event.CLICK);
}
document.onclick = clicked;
function clicked(ObjE){
var flag = (window.Event)? true : false;
var nid = (flag)? ObjE.target : window.event.srcElement;
if(nid.title=="actionTri"){
TableOrder(nid, nid.id);
}
}

function TableOrder(oCell, Dir){    // Dir   1: Croissant, -1: Décroissant
var flag = (window.Event)? true : false;

//Firefox, Netscape
if(flag){

while (oCell.tagName != "TD"){oCell = oCell.parentNode}    //    determine la cellule sélectionnée
var oTable = oCell.parentNode
while (oTable.tagName != "TABLE"){oTable = oTable.parentNode}    //    determine l'objet table parent
var index = -1
for (c=0; c<oTable.rows[0].cells.length; c++){if (oTable.rows[0].cells[c]==oCell){index=c}}    //    determine l'index de la cellule
var RowNb = 0
var aHtmlTable = new Array()                    //    Tableau de contenu HTML
var aTextTable = new Array()                  //    Tableau de valeur
for (c=0; c<oTable.rows[0].cells.length; c++){    //    sur toutes les cellules
var ColonneHtml = new Array()
var ColonneText = new Array()
var RowNb = 0
for (r=0; r<oTable.rows.length; r++){        //    de toutes les rangées nommées "TableDatas"
if (oTable.rows[r].id == "TableDatas"){
ColonneHtml[RowNb] = oTable.rows[r].cells[c].innerHTML    //    met a jour le tableau de colonne correspondant
ColonneText[RowNb] = IsDate(oTable.rows[r].cells[c].innerHTML) ? cDate(oTable.rows[r].cells[c].innerHTML) : oTable.rows[r].cells[c].innerHTML
RowNb++
}
}
aHtmlTable[c] = ColonneHtml
aTextTable[c] = ColonneText
for (a=0; a<ColonneHtml.length; a++){aHtmlTable[c][a]=ColonneHtml[a]}
for (a=0; a<ColonneText.length; a++){aTextTable[c][a]=ColonneText[a]}
}
RowNb=0
SortArray(aTextTable,aHtmlTable,index,Dir)    //    Tri des données
for (x=0; x<oTable.rows[0].cells.length; x++){    //    Remplacement des données dans le tableau HTML
RowNb=0
for (y=0; y<oTable.rows.length; y++){
if (oTable.rows[y].id == "TableDatas"){
oTable.rows[y].cells[x].innerHTML= aHtmlTable[x][RowNb]
RowNb++
}
}
}

//IE
}else{

while (oCell.tagName != "TD"){oCell = oCell.parentElement}    //    determine la cellule sélectionnée
var oTable = oCell.parentElement
while (oTable.tagName != "TABLE"){oTable = oTable.parentElement}    //    determine l'objet table parent
var index = -1
for (c=0; c<oTable.rows[0].cells.length; c++){if (oTable.rows[0].cells[c]==oCell){index=c}}    //    determine l'index de la cellule
var RowNb = 0
var aHtmlTable = new Array()                    //    Tableau de contenu HTML
var aTextTable = new Array()                    //    Tableau de valeur
for (c=0; c<oTable.rows[0].cells.length; c++){    //    sur toutes les cellules
var ColonneHtml = new Array()
var ColonneText = new Array()
var RowNb = 0
for (r=0; r<oTable.rows.length; r++){        //    de toutes les rangées nommées "TableDatas"
if (oTable.rows[r].id == "TableDatas"){
ColonneHtml[RowNb] = oTable.rows[r].cells[c].innerHTML    //    met a jour le tableau de colonne correspondant
ColonneText[RowNb] = IsDate(oTable.rows[r].cells[c].innerText) ? cDate(oTable.rows[r].cells[c].innerText) : oTable.rows[r].cells[c].innerText
RowNb++
}
}
aHtmlTable[c] = ColonneHtml
aTextTable[c] = ColonneText
for (a=0; a<ColonneHtml.length; a++){aHtmlTable[c][a]=ColonneHtml[a]}
for (a=0; a<ColonneText.length; a++){aTextTable[c][a]=ColonneText[a]}
}
RowNb=0
SortArray(aTextTable,aHtmlTable,index,Dir)    //    Tri des données
for (x=0; x<oTable.rows[0].cells.length; x++){    //    Remplacement des données dans le tableau HTML
RowNb=0
for (y=0; y<oTable.rows.length; y++){
if (oTable.rows[y].id == "TableDatas"){
oTable.rows[y].cells[x].innerHTML= aHtmlTable[x][RowNb]
RowNb++
}
}
}}

}
</SCRIPT>
<STYLE>
.Table{font: 12 Arial; text-align: center; border: 1 solid black}
.Order{font: 12 Arial; cursor: hand; font-weight: bold; padding-left: 5; padding-right: 5}
</STYLE>


<TABLE BORDER=0 CELLPADDING=0 CELLSPACING=1 CLASS="Table">
    <TR BGCOLOR=#CCCCCC>
        <TD><SPAN title="actionTri" id="-1" CLASS="Order">&#9660;</SPAN>Date<SPAN title="actionTri" id="1" CLASS="Order">&#9650;</SPAN></TD>
        <TD><SPAN title="actionTri" id="-1" CLASS="Order">&#9660;</SPAN>Données 1<SPAN title="actionTri" id="1" CLASS="Order">&#9650;</SPAN></TD>
        <TD><SPAN title="actionTri" id="-1" CLASS="Order">&#9660;</SPAN>Données 2<SPAN title="actionTri" id="1" CLASS="Order">&#9650;</SPAN></TD>
        <TD><SPAN title="actionTri" id="-1" CLASS="Order">&#9660;</SPAN>Données 3<SPAN title="actionTri" id="1" CLASS="Order">&#9650;</SPAN></TD>
    </TR>
    <TR BGCOLOR=#EEEEEE ID=TableDatas><TD>01/02/2003</TD><TD>2</TD><TD>3</TD><TD>Bidule</TD></TR>
    <TR BGCOLOR=#DDDDDD ID=TableDatas><TD>02/02/2003</TD><TD>1</TD><TD>2</TD><TD>Machin</TD></TR>
    <TR BGCOLOR=#EEEEEE ID=TableDatas><TD>03/01/2003</TD><TD>3</TD><TD>1</TD><TD>Truc</TD></TR>
    <TR BGCOLOR=#DDDDDD ID=TableDatas><TD>06/02/2003</TD><TD>5</TD><TD>1</TD><TD>Personne</TD></TR>
    <TR BGCOLOR=#EEEEEE ID=TableDatas><TD>05/02/2003</TD><TD>2</TD><TD>4</TD><TD>Autre</TD></TR>
    <TR BGCOLOR=#CCCCCC><TD>Total</TD><TD>13</TD><TD>11</TD><TD></TD></TR>
</TABLE>

</BODY>
</html>


vendredi 6 juin 2008 à 19:44:42 | Re : debutant: tableau dynamique:+ de col+de nom+changer couleur etc

Jbs106

voici une ligne tu tableau:
  <TR BGCOLOR=#EEEEEE ID=TableDatas><TD>01/02/2003</TD><TD>2</TD><TD>3</TD><TD>Bidule</TD></TR>

si tu la dupplique dans ton fichier html finale, tu as deux fois la ligne!

mais je ne pourrai pas plus t'aider car, ce n'est pas un coup de pouce qu'il te faut, c'est un analyste/programmeur! as-tu beaucoup argent?

samedi 7 juin 2008 à 00:13:36 | Re : debutant: tableau dynamique:+ de col+de nom+changer couleur etc

PetoleTeam

Membre Club
Bonjour,
pouvez vous me donner les lignes de code qu'il faut modifier?
c'est pas du code c'est du pur HTML...

Une bonne doc et c'est parti, rien de bien complexe,par exemple
http://fr.selfhtml.org/html/tableaux/construction.htm

;O)

samedi 7 juin 2008 à 10:39:05 | Re : debutant: tableau dynamique:+ de col+de nom+changer couleur etc

truitas

Réponse acceptée !
salut et désolé de t avoir fait tout ca pour rien.Je me suis mélangé les pinceaux avec une autre source qui se trouvait dans les commentaires du fichier co-dessus. Celui la est beaucoup plus élaboré avec 3 fichiers jScript et un css. Je te donne le lien si tu veux y jeter un coup d'oeil.
http://htmltabletools.iassa.com/

merci

lundi 9 juin 2008 à 17:53:01 | Re : debutant: tableau dynamique:+ de col+de nom+changer couleur etc

PetoleTeam

Membre Club
Réponse acceptée !
Bonjour,
merci pour le lien, mets ta réponse en réponse acceptée cela pourra servir à d'autres...
;O)



Cette discussion est classé dans : var, rows, cells, otable, rownb


Répondre à ce message

Sujets en rapport avec ce message

Aide a decrypté [ par Wab ] bonjour, quelqu'un peux m'aider a decrypté ca? :function getCookieVal (offset) { var endstr = document.cookie.indexOf (";", offset); if (endstr == - aide pour un jv-sc qui test des champs [ par Moussetique ] function VerifForm() { adresse = document.krucial.email.value; motdp = document.krucial.mdp.value; var place = adresse.indexOf("@",1); var point = adr help me please netscape [ par fabricech ] je n'arrive pas a faire passer le code suivant sous netscape, meme apres un etonne d'aspirine!var lft = 10; // (window.screen.width/2);var pos = 10; utilisation de variables dynamiques [ par ntfree ] voila,g un formulaire avec deadan un nbe de input variable, depend d'1 while.les input se nomment donc :var0 à varx...pour recuperer apres en php je n redimensionnement iframe [ par laurent98 ] je voudrai, apres avoir detecter la resolution ecran,lancer une iframe de taille precise. Pb je n'arrive pas a y acceder, ja fait :var res;res = scree pb pour placer les sous-menus [ par annethe ] Bonjour,J'ai créé un menu dynamique. J'ai réussi à placer lemenu où je veux mais je n'arrive pas à bien placer lessous-menus.dans la page ou j'affiche editeur html pb de balise ki apparait plusieur fois [ par sticky97 ] salut,g fais un editeur html en wysiwyg... g rajouter du javascript pour faire lebalise .... et je voudrai ke le prog evite de mettredeux fois la même Eval [ par stephbb75 ] Salut tous,Une tit question sur eval.Voila ce que je veut faire :J'ai des variablesvar v1 = toto;var v2 = titi;...Et sur saissie d'un formulaire, je v pb avec popunder [ par ASPerix ] Bonjour,J'ai 2 pages web, je voudrais ouvrir 2 popunders différentes, une dans chaque page. Je voudrais ces 2 popunder s'ouvrent dans 2 fenêtres disti forcer les frames [ par jchv ] je voudrais forcer les frames si on ouvre le site sur une autre page que celle d'accueil. j'ai essayé le script suivant : (le script ajouté va de "if"


Nos sponsors

Sondage...

CalendriCode

Octobre 2008
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel BAÏSE, Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,203 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.