2016-09-15 1 views
0

J'utilise RichFaces 4, et je dois fusionner deux lignes dans le centre de la table, tels que:lignes de fusion Dynamiquement au RichFaces Tableau Centre

+---+---+-------+ 
| | | | | 
|---| |-------+ 
| | | | | 
+---+---+-------+ 

J'ai essayé en utilisant le code suivant:

 <rich:column > 
      <f:facet name="header"> 
       <h:outputText value="col 1" /> 
      </f:facet> 
      <h:outputText value="val 1" /> 
     </rich:column> 

     <rich:column breakRowBefore="true"> 
      <h:outputText value="Val 2" /> 
     </rich:column> 

     <rich:column rowspan="2"> 
      <f:facet name="header"> 
       <h:outputText value="Col 2" /> 
      </f:facet> 
      <h:outputText value="Val 2" /> 
     </rich:column> 

     <rich:column> 
      <f:facet name="header"> 
       <h:outputText value="Col 3" /> 
      </f:facet> 
      <h:outputText value="Val 3" /> 
     </rich:column> 

     <rich:column breakRowBefore="true"> 
      <h:outputText value="Val 4" /> 
     </rich:column> 

     <rich:column> 
      <f:facet name="header"> 
       <h:outputText value="Col 4" /> 
      </f:facet> 
      <h:outputText value="Val 5" /> 
     </rich:column> 

     <rich:column breakRowBefore="true"> 
      <h:outputText value="Val 6" /> 
     </rich:column> 

Mais en utilisant cette façon, la troisième colonne se brise. Si je fusionne dans les colonnes à la fin de la table, comme ceci JSF RichTable merging rows/columns in a header, cela fonctionnera bien. Mais cela ne résout pas mon problème.

+0

"les ruptures de la troisième colonne" n'explique pas quel est votre problème. Votre code montre seulement 4 cellules, tandis que le "dessin" a 7. Gardez à l'esprit la numérotation est par lignes (ie la première rangée sera 1-2-3-4, pas 1-3-4-5) – Makhiel

+0

J'ai édité la table pour une meilleure compréhension. Merci. – MarcosNeco

Répondre

0

Vous le rendez plus difficile que nécessaire, il fonctionne à peu près comme le HTML standard. breakRowBefore commence simplement une nouvelle ligne (et donc toutes les colonnes suivantes seront sur la même ligne ou plus bas). Votre exemple comporte deux lignes et vous ne devez donc l'utiliser qu'une seule fois:

<column> 
<column rowspan="2"> 
<column> 
<column> 

<column breakRowBefore="true"> 
<column> 
<column>