Inverser les données de la grille HTML

J'ai une table de grille html qui crée la table dans le fichier js et ressemble à ceci

tbl_html = tbl_html + '<tbody>' + '<td>' + yearconvert(yearr) + '</td>' + '<td>' + starttime+ '</td>' + '<td>' + endtime + '</td>'; 

Il existe une boucle qui donne la valeur de l'année, du début, de la fin. Il l'affiche bien mais je veux renverser le résultat que je vois dans la grille html.

 for (var i = 0; i < matrix.length; i++) { var starttime= Date.UTC(parseInt(matrix[i].start_time); var endtime = Date.UTC(parseInt(matrix[i -1]); var year =matrix[i].year; } 

Entrez la description de l'image ici

Je veux voir la dernière rangée sera la première rangée et d'autres comme suit, par exemple année 11/2009 – 10/2009 – 09/2009 – 08/2009

[Edit] C'est-à-dire, je veux seulement changer l'ordre des rangées mais pas la colonne [/ edit]

Une idée pour l'atteindre?

Merci

Que diriez-vous de passer par la matrice en arrière?

 for (var i = matrix.length-1; i >= 0; i--) { var starttime= Date.UTC(parseInt(matrix[i].start_time); var endtime = Date.UTC(parseInt(matrix[i -1]); var year =matrix[i].year; tbl_html = tbl_html + '<tbody>' + '<td>' + yearconvert(yearr) + '</td>' + '<td>' + starttime+ '</td>' + '<td>' + endtime + '</td>'; } 

Ne pouvez-vous pas simplement modifier le JS

 tbl_html = tbl_html + '<tbody>' + '<td>' + starttime + '</td>' + '<td>' + endtime+ '</td>' + '<td>' + yearconvert(yearr) + '</td>'; 

Essayez ceci pour la taille:

Fondamentalement, nous faisons simplement itérer à travers la collection de lignes de l'élément tbody. Nous insérons des lignes avec un indice croissant avant que la rangée soit la première contenant des données. Si la table comporte un en-tête, la première ligne de données est une ligne [1] – si la table n'a pas d'en-tête, la première ligne de données est des lignes [0]. La ligne que nous devons insérer avant change constamment, nous devons donc faire une référence à chaque fois par la boucle. Heureusement, l'indice reste le même – d'où l'utilisation de tbody.rows[firstRowIndex] dont le contenu change, même si au premier abord cela peut être considéré comme constant par erreur.

 <!DOCTYPE html> <html> <head> <script> function byId(e){return document.getElementById(e);} function newEl(tag){return document.createElement(tag);} function newTxt(txt){return document.createTextNode(txt);} window.addEventListener('load', onDocLoaded, false); function makeTable() { var table = newEl('table'); table.id = 'myTable'; var tbody = newEl('tbody'); table.appendChild(tbody); var tr = newEl('tr'); var i, j, n = 3; for (i=0; i<n; i++) { var curCell = newEl('th'); curCell.appendChild( newTxt('Column ' + i) ); tr.appendChild(curCell); } tbody.appendChild(tr); for (j=0; j<10; j++) { tr = newEl('tr'); for (i=0; i<n; i++) { var curCell = newEl('td'); curCell.appendChild( newTxt('Cell: ' + (i + j*n) ) ); tr.appendChild(curCell); } tbody.appendChild(tr); } document.body.appendChild(table); } function onDocLoaded() { makeTable(); } function flipRows(tableId, hasHeaderRow) { var tbl = byId(tableId); var tbody = tbl.childNodes[0]; var i, n; n = tbody.rows.length; var firstRowIndex = 0; if (hasHeaderRow == true) firstRowIndex++; for (i=firstRowIndex+1; i<n; i++) tbody.insertBefore( tbody.rows[i], tbody.rows[firstRowIndex] ); } </script> <style> </style> </head> <body> <button onclick="flipRows('myTable', true)">Flip rows of this table</button><br> </body> </html> 
  var griddatayear = reversegridarray(arrayyear); var griddatastart = reversegridarray(arraystart); var griddataend = reversegridarray(arrayend); var griddatadur = reversegridarray(arrayduration); var size; function reversegridarray(gridarr) { var gridarrayresult = []; var myres; ii = gridarr.length; for (var i = ii - 1; i >= 0; i--) { gridarrayresult.push(gridarr[i]); } size=gridarrayresult.slice(0).sort().indexOf(undefined); myres = gridarrayresult.filter(function (e) { return e }); return myres; } for (var i = 0; i < size ; i++) { tbl_html = tbl_html + '<tbody>' + //'<td>' + monthsupdated[i] + '</td>' + '<td>' + yearconvert(griddatayear[i]) + '</td>' + '<td>' + griddatastart[i] + '</td>' + '<td>' + griddataend[i] + '</td>' + '<td>' + griddatadur[i] + '</td>'; } 

Problème résolu