Categories > TinyButStrong general (FR) >

affichage en râteau ( regroupement)

The forum is closed. Please use Stack Overflow for submitting new questions. Use tags: tinybutstrong , opentbs
By: lcapt
Date: 2008-04-24
Time: 16:05

affichage en râteau ( regroupement)

Salut à tous,

Je souhaite faire un affichage en râteau ( ou en vue hiérarchique si vous préférer) du genre:
Nom   Type       Année   CA
Lio      revente   2006    1000.-
                       2007   2000.-
          promo    2006   20000.-
                       2007   10000.-
Gerard  revente  2006 1000.-
           promo    2006  100000.-

etc...
By: lcapt
Date: 2008-04-24
Time: 16:08

Re: affichage en râteau ( regroupement)

et si je finissais mon message...

.... c'est donc à peu près la même chose que pour les regroupements mais "en ligne" et je sèche lamentablement. Voici ce que j'ai comme code:
<table>
        <tr><th>Courtier</th><th>Type de vente</th><th>Etape de la vente</th><th>Affaire initiée en</th><th>CA à date</th></tr>
        [courtageGmkCourtierTypeStatus;block=begin]<tr>
            <td class="tdLine"><span>[courtageGmkCourtierTypeStatus.courtier_nom;block=span;headergrp=courtier_nom]</span></td>
            <td class="tdLine"><span>[courtageGmkCourtierTypeStatus.type_vente;block=span;headergrp=type_vente]</span></td>
            <td class="tdLine"><span>[courtageGmkCourtierTypeStatus.status_nom;block=span;headergrp=status_nom]</span></td>
            <td class="tdLine"><span>[courtageGmkCourtierTypeStatus.prevision;block=span;headergrp=prevision]</span></td>
            <td class="tdLine" style="text-align: right;">[courtageGmkCourtierTypeStatus.total;frm='0''000.00';.]</td>
        </tr>[courtageGmkCourtierTypeStatus;block=end]
    </table>

Mais il ne me fait pas de "rupture, le nom du courtiers est répété autant de fois qu'il y a de lignes le concernant. Une idée ?
By: Skrol29
Date: 2008-04-24
Time: 17:37

Re: affichage en râteau ( regroupement)

Bonjour,

Je ne comprends pas bien l'affichage en râteau que tu souhaites avoir. Est- ce tu peux détailler un peu plus ? avec le source HTML par exemple.
By: lcapt
Date: 2008-04-28
Time: 08:35

Re: affichage en râteau ( regroupement)

Un petit dessin valant mieux qu'un long discours...

Voilà ce que donne le code HTML du message précédent
http://www.groupemk.ch/images/avant.gif

...et voilà, ce que je voudrais obtenir
http://www.groupemk.ch/images/apres.gif

Je me suis dit qu'il serait possible d'utiliser les Headergrp pour que certaines cellules restent vides si leur contenu ne change pas mais ca ne fonctionne pas. As-tu une idée ?
By: Skrol29
Date: 2008-04-28
Time: 12:10

Re: affichage en râteau ( regroupement)

Ha oui, c'est super clair avec les images. Le design est sobre et lisible, j'aime bien.

En fait tu as un rupture à 4 niveaux (Courtier, Type de vente, Étape et Affaire).
Tu ne peux pas t'en sortir avec des "headergrp" sur les <td> car cela ajouterait des <td> lorsque les valeurs changent, ors ton tableau doit toujours avoir le même nombre de <td>.

"parentgrp" aurait été pratique, malheureusement tu as 4 niveaux de rupture et il ne peut y avoir qu'un seul "parentgrp" dans un bloc.

La solution la plus simple finalement c'est d'utiliser le paramètre "ondata" avec une fonction personnalisée. Cette fonction ajouterait des champs calculés spécialement pour l'affichage tel que Courtier2, Type2,  Etape2 et Annee2. Ces champs contiennent la valeur normal lorsqu'il y rupture, et contiennent une chaîne vide lorsque la valeur est identique à l'enregistrement précédent.
Il faut aussi probablement gérer les lignes horizontales de séparation de cellules par cette même technique.





By: lcapt
Date: 2008-04-28
Time: 16:25

Re: affichage en râteau ( regroupement)

>Tu ne peux pas t'en sortir avec des "headergrp" sur les <td> car cela ajouterait des <td> lorsque les valeurs changent, ors ton tableau doit toujours avoir le même nombre de <td>.

Oui, c'est pour cela que j'avais fait une rupture sur le <span>. Justement pour que le nombre de <td> reste identique. Comme ça ne fonctionnait pas, j'ai essay éavec une balise personnelle genre <blk1></blk1> mais là encore, nada. Je vais suivre ton conseil: fabriquer un tableau en PHP et le passer à TBS. Merci.