Définir la largeur de l'en-tête de colonne JSF dans un tableau de taille fixe
-
13-12-2019 - |
Question
J'ai une table de données JSF avec table-layout:fixed, où j'essaie de définir la largeur en fonction d'un pourcentage pour chaque colonne.J'ai pensé que si j'ajoute un attribut de largeur à l'en-tête dans IE, cela fonctionne comme prévu.Cependant, je n'arrive pas à comprendre comment ajouter cet attribut de largeur dans le code.J'ai ajouté un attribut dans l'en-tête de la facette, mais cela n'a pas fonctionné.Cela n'a pas non plus fonctionné en le plaçant à l'intérieur de la balise de colonne.
Si quelqu'un pouvait m'aider, ce serait apprécié.
<h:column>
<f:facet name="header">
<h:outputText
value="#{messageSource['tasks.headline.task']}" />
<f:attribute name="width" value="20%"/>
</f:facet>
<t:commandLink id="lookAtTask" action="lookAtTask">
<t:updateActionListener property="#{flowScope.localTask}"
value="#{data.task}" />
<h:graphicImage url="/images/icon_properties_16x16.gif"
alt="#{messageSource['tasks.headline.task']}" />
</t:commandLink>
</h:column>
La solution
Vous pouvez utiliser le headerClass
attribut du <h:column>
pour spécifier une classe de style de l'en-tête.
<h:dataTable ...>
<h:column headerClass="col1">
<f:facet name="header">...</f:facet>
...
</h:column>
<h:column headerClass="col2">
<f:facet name="header">...</f:facet>
...
</h:column>
<h:column headerClass="col3">
<f:facet name="header">...</f:facet>
...
</h:column>
</h:dataTable>
avec par ex.ce CSS
.col1 { width: 20%; }
.col2 { width: 30%; }
.col3 { width: 50%; }
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow