Bonjour à tous,
Je cherche à créer un tableau dynamique en html (puis en php, mais je me baserai sur sa structure en html) pour lequel j'aurai des lignes regroupées en groupes (de lignes) et ces groupes seront regroupés en classes (groupe de groupes).
S'il n'y avait que cela, ce serait simple, mais je souhaiterai aussi gérer des colonnes à cacher ou afficher en fonction des lignes validées (ou cochées). Le tout ressemblerait à une grille avec un système d'accordéon sur les lignes et sur les colonnes.
Je clique sur une classe, donc je fais apparaître les groupes la constituant et je clique sur un groupe et je fais apparaître les lignes constituant le groupe.
Lorsque je clique sur une ou plusieurs lignes, des colonnes disparaissent.
Au début, je pensais gérer cela avec des div, puis on m'a conseillé de le faire en tableau. Je pense que je vais revenir aux div car j'ai des soucis d'affichage sous Firefox quand je réaffiche des lignes (que j'avais cachées). La ligne de trois cellules se retrouve condensée dans la première cellule à sa réapparition.
Je pense qu'en gérant cela avec des divs, je peux désafficher les divs "filles" ou les faire réapparaître.
Pour les colonnes, je dois jouer sur la class (une même classe pour une colonne).
Voici un bout de code :
Sauriez-vous comment je dois m'y prendre ? Quelles pistes ou technologies me préconisez-vous ?
Mon tableau va être assez important et devra permettre d'afficher des images à l'aide d'infos bulles. Les données seront donc pas forcément légères à charger. Faut il prendre AJAX pour charger au fur et à mesure (à la demande) les différentes lignes en injectant dans des div vides le code html récupéré par AJAX ?
Merci de vos réponses
Je cherche à créer un tableau dynamique en html (puis en php, mais je me baserai sur sa structure en html) pour lequel j'aurai des lignes regroupées en groupes (de lignes) et ces groupes seront regroupés en classes (groupe de groupes).
S'il n'y avait que cela, ce serait simple, mais je souhaiterai aussi gérer des colonnes à cacher ou afficher en fonction des lignes validées (ou cochées). Le tout ressemblerait à une grille avec un système d'accordéon sur les lignes et sur les colonnes.
Je clique sur une classe, donc je fais apparaître les groupes la constituant et je clique sur un groupe et je fais apparaître les lignes constituant le groupe.
Lorsque je clique sur une ou plusieurs lignes, des colonnes disparaissent.
Au début, je pensais gérer cela avec des div, puis on m'a conseillé de le faire en tableau. Je pense que je vais revenir aux div car j'ai des soucis d'affichage sous Firefox quand je réaffiche des lignes (que j'avais cachées). La ligne de trois cellules se retrouve condensée dans la première cellule à sa réapparition.
Je pense qu'en gérant cela avec des divs, je peux désafficher les divs "filles" ou les faire réapparaître.
Pour les colonnes, je dois jouer sur la class (une même classe pour une colonne).
Voici un bout de code :
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<title>Mon tableau dynamique</title>
</head>
<body>
<div id="tableau">
<div id="class1">
<span id="tclass1">1ère classe</span>
<div id="c1group1">
<span id="tc1group1">1er groupe (classe 1)</span>
<div id="1">
<span id="lligne1">ligne 1</span>
<span class="col1"></span>
<span class="col2"></span>
<span class="col3"></span>
</div>
<div id="2">
<span id="lligne2">ligne 2</span>
<span class="col1"></span>
<span class="col2"></span>
<span class="col3"></span>
</div>
<div id="3">
<span id="lligne3">ligne 3</span>
<span class="col1"></span>
<span class="col2"></span>
<span class="col3"></span>
</div>
</div>
<div id="c1group2">
<span id="tc1group2">2nd groupe (classe 1)</span>
<div id="4">
<span id="2ligne4">ligne 4</span>
<span class="col1"></span>
<span class="col2"></span>
<span class="col3"></span>
</div>
<div id="5">
<span id="2ligne5">ligne 5</span>
<span class="col1"></span>
<span class="col2"></span>
<span class="col3"></span>
</div>
<div id="6">
<span id="2ligne6">ligne 6</span>
<span class="col1"></span>
<span class="col2"></span>
<span class="col3"></span>
</div>
</div>
<div id="c1group3">
<span id="tc1group3">3ème groupe (classe 1)</span>
<div id="7">
<span id="3ligne7">ligne 7</span>
<span class="col1"></span>
<span class="col2"></span>
<span class="col3"></span>
</div>
<div id="8">
<span id="3ligne8">ligne 8</span>
<span class="col1"></span>
<span class="col2"></span>
<span class="col3"></span>
</div>
<div id="9">
<span id="3ligne9">ligne 9</span>
<span class="col1"></span>
<span class="col2"></span>
<span class="col3"></span>
</div>
</div>
</div>
<div id="class2">
<span id="tclass2">2nde classe</span>
<div id="c2group1">
<span id="tc2group1">1er groupe (classe 2)</span>
<div id="10">
<span id="lligne10">ligne 10</span>
<span class="col1"></span>
<span class="col2"></span>
<span class="col3"></span>
</div>
<div id="11">
<span id="lligne11">ligne 11</span>
<span class="col1"></span>
<span class="col2"></span>
<span class="col3"></span>
</div>
<div id="12">
<span id="lligne12">ligne 12</span>
<span class="col1"></span>
<span class="col2"></span>
<span class="col3"></span>
</div>
</div>
<div id="c2group2">
<span id="tc2group2">2nd groupe (classe 2)</span>
<div id="13">
<span id="2ligne13">ligne 13</span>
<span class="col1"></span>
<span class="col2"></span>
<span class="col3"></span>
</div>
<div id="14">
<span id="2ligne14">ligne 14</span>
<span class="col1"></span>
<span class="col2"></span>
<span class="col3"></span>
</div>
<div id="15">
<span id="2ligne15">ligne 15</span>
<span class="col1"></span>
<span class="col2"></span>
<span class="col3"></span>
</div>
</div>
</div>
</div>
</body>
</html>
Sauriez-vous comment je dois m'y prendre ? Quelles pistes ou technologies me préconisez-vous ?
Mon tableau va être assez important et devra permettre d'afficher des images à l'aide d'infos bulles. Les données seront donc pas forcément légères à charger. Faut il prendre AJAX pour charger au fur et à mesure (à la demande) les différentes lignes en injectant dans des div vides le code html récupéré par AJAX ?
Merci de vos réponses