Re: plier/déplier tableau
Bonjour à Toto <eloustau@hotmail.fr> qui nous a écrit :
> Bonjour,
>
> Je recherche un moyen de présenter un tableau (X lignes+ X colonnes)
> en offrant la possibilité de plier/déplier certaines parties (lignes
> ou colonnes) avec sous totaux à la manière du mode plan d'Excel.
> Du coté serveur (PHP) je peux gérer. C'est du coté client que je
> recherche une solution.
> Merci.
> Et bon WE.
Je veux juste vous parler de mon expérience.
J'ai réalisé l'année dernière une grille (Javascript, Ajax,...)
permettant de gérer le plié/déplié en ligne et en colonne. Un peu du
type du produit DynamiCube mais, lui, fonctionne exclusivement avec un
ActiveX donc limité à IE.
Je ne peux fournir de source ou d'algo ici car je l'ai développé pour ma
boîte, mais je peux fournir quelques indications intéressantes :
* L'algo inclut une partie récursive qui fonctionne très bien avec
JavaScript
* Les premiers développements ont été basés sur le DOM avec un objet
Table etc...Les tests sous FF avec plusieurs milliers de cellules ont
été concluants ; par contre, IE met un temps considérable à gérer de
gros objets DOM.
* Les seconds essais ont été basés sur la construction d'une chaîne Html
contenant les balises <table>, <td>,... puis de la mettre simplement
dans un élément DIV par innerHTML. Sous FF, les temps sont du même ordre
que avec DOM ; par contre, avec IE et cette technique, les temps
deviennent comparables à ceux de FF.
Il est facile de faire des tests pour vérifier mes dires et ne pas se
lancer dans du DOM qui risque de ne pas convenir pour de gros volumes.
Enfin, à vous de voir...
Dernier truc pour les longues chaînes de caractères :
Au lieu de:
var s = "";
(boucle) {
s += contenu_inferieur_a_4K;
}
html = s;
Faire :
var t = [];
(boucle) {
t.push(contenu_inferieur_a_4K);
}
html = t.join('');
C'est beaucoup plus efficace pour les volumes importants !...
--
Cordialement, Thierry ;-)
|