Téléchargement des produits


Version anglaise


Comparaison des versions

Légende

  • Ces lignes ont été ajoutées. Ce mot a été ajouté.
  • Ces lignes ont été supprimées. Ce mot a été supprimé.
  • La mise en forme a été modifiée.

...

La macro groupList permet l'ordonnancement d'une séquence en créant des groupes virtuels. En plaçant cette macro dans le contenu de groupList, il est possible, lors du parcours de la séquence ordonnée, de détecter lorsque l'élément courant est le premier élément d'un groupe, afin d'exécuter le contenu imbriqué de cette macro.

 


Cette macro peut être utilisée pour afficher des informations sur le groupe courant (son titre par exemple) avant d'afficher le contenu de l'élément courant. 


Lors du parcours de la séquence ordonnée, le contenu imbriqué de cette macro ne d'exécutera qu'une fois par groupe : lorsque l'élément courant est le premier du groupe. 


Par exemple

Pas de format
<#assign seqData = [{"name": "mary", "age": 18},
{"name": "Lucy", "age": 19},
{"name": "Mark", "age": 19},
{"name": "Charlie", "age": 17},
{"name": "Aaron", "age": 18},
{"name": "Tess", "age": 16},
{"name": "Isaac", "age": 16}
]/><#assign>
<#assign orderingCriteria = {"name": "original_order_by_age", "colName": "age", "order":"o"} /><@hardisAdv>
<@hardisAdv.groupList .data_model.seqData orderingCriteria; aPerson><@hardisAdvaPerson>
<@hardisAdv.groupHeader "original_order_by_age">Here>
Here is a new age group:
</@hardisAdv.groupHeader>$groupHeader>
${ aPerson.name} has ${ aPerson.age }
</@hardisAdv.groupList>

...


a pour résultat :

Here is a new age group:

...

Here is a new age group:

Tess has 16

Isaac has 16

...


De plus, il est possible d'accéder aux informations du groupe de l'élément courant, en passant à la macro une variable de boucle qui sera alimentée par celle-ci et pourra être utilisée dans son contenu imbriqué. Cette variable est un objet Hash qui regroupe les informations sur le groupe via les attributs suivants :

...

Pas de format
<#assign seqData = [{"name": "mary", "age": 18},
{"name": "Lucy", "age": 19},
{"name": "Mark", "age": 19},
{"name": "Charlie", "age": 17},
{"name": "Aaron", "age": 18},
{"name": "Tess", "age": 16},
{"name": "Isaac", "age": 16}
]/><#assign>
<#assign orderingCriteria = {"name": "original_order_by_age", "colName": "age", "order":"o"} /><@hardisAdv>
<@hardisAdv.groupList .data_model.seqData orderingCriteria; aPerson><@hardisAdvaPerson>
<@hardisAdv.groupHeader "original_order_by_age"; infoGroupOriginalOrderByAge>GroupinfoGroupOriginalOrderByAge>
Group of ${ infoGroupOriginalOrderByAge .label}: ${ infoGroupOriginalOrderByAge .endRow - infoGroupOriginalOrderByAge .startRow } people<people
</@hardisAdv.groupHeader>$groupHeader>
${ aPerson.name} has ${ aPerson.age }
</@hardisAdv.groupList>

 



a pour résultat :

Group of 18: 1 people

...

Isaac has 16


Directive vide : Non 


Paramètres

Hardis - Tableau personnalisé
alternateColorstrue

String

groupName

Nom du groupe dont on veut détecter l'entrée lors du parcours

Obligatoire



Par exemple

Pas de format
<@hardisAdv.groupList .data_model.seqItems orderingCriteria; aItem><@hardisAdvaItem>
<@hardisAdv.groupHeader "orderGroup1"; infoGroup>BeginninginfoGroup>
Beginning of group ${ infoGroup.label }
</@hardisAdv.groupHeader>
... ${ aItem.fooAttribute} ...
<@hardisAdv.groupFooter "orderGroup1"; infoGroup>EndinfoGroup>
End of group ${ infoGroup.label }
</@hardisAdv.groupFooter><groupFooter>
</@hardisAdv.groupList> 


Hardis - Haut de page

↑ Haut de page