Créer un tableau de données HTML avec JavaScript
Concept et utilisation
La fonction Table()
permet de créer un tableau simple de données HTML.
Les données peuvent être définies, ainsi que l'affichage de l'entête, du pied de table et des cellules.
Fonction
Table()
Retourne un tableau HTML à partir d'un tableau de données.
- Syntaxe
new Table(donnees, options);
- Paramètres
donnees
(Array)Le paramètre
donnees
de la fonctionTable()
définit le tableau de données à partir duquel générer un tableau HTML.
Chaque donnée peut être une chaines de caractères (HTML ou non), ou un objet cellule à construire.cellule
(Object)Un objet
cellule
contenu dans les données permet de mettre en forme la cellule HTML d'une donnée à afficher.
options
(Object)Le paramètre
options
de la fonctionTable()
définit l'utilisation d'une entête et d'un pied de table.- Propriétés
thead
(Boolean)tfoot
(Boolean)
Exemple de création de tableau HTML
var donnees = [
[ "Ligne 1, Colonne 1", "Ligne 1, Colonne 2" ],
[ "Ligne 2, Colonne 1", "Ligne 2, Colonne 2" ],
[ { content: "Ligne 3", attributes: { colspan: 2 } } ],
[ "Ligne 4, Colonne 1", "Ligne 4, Colonne 2" ]
];
var options = {
thead: true,
tfoot: true
};
new Table(donnees, options);
// renvoie :
//
// <table>
// <thead>
// <tr><th>Ligne 1, Colonne 1</th><th>Ligne 1, Colonne 2</th></tr>
// </thead>
// <tbody>
// <tr><td>Ligne 2, Colonne 1</td><td>Ligne 2, Colonne 2</td></tr>
// <tr><td colspan="2">Ligne 3</td></tr>
// </tbody>
// <tfoot>
// <tr><td>Ligne 4, Colonne 1</td><td>Ligne 4, Colonne 2</td></tr>:
// </tfoot>
// </table>
Code source de la fonction
function Table(a,b){var c=function(s){return document.createElement(s);},d=c('table'),
e=b.thead?a.splice(0,1):[],f=b.tfoot?a.splice(-1,1):[],g=function(h,i,j){var k=c(h),
l=j.length,m=0;for(m;m<l;m++){var n=c('tr'),o=j[m].length,p=0;for(p;p<o;p++){var q=c(i),
r=j[m][p];if(typeof r==='string'){q.innerHTML=r;}else{if(r.content){q.innerHTML=r.content;}
if(r.attributes){for(var s in r.attributes){q.setAttribute(s,r.attributes[s]);}}}
n.appendChild(q);}k.appendChild(n);}d.appendChild(k);};if(e.length>0){g('thead','th',e);}
if(a.length>0){g('tbody','td',a);}if(f.length>0){g('tfoot','td',f);}return d;}
Dernière mise à jour le .