Comment définir la largeur d'un p:colonne dans une p:dataTable dans PrimeFaces 3.0?
Je suis l'aide de PrimeFaces 3.0-M3 et j'ai un <p:dataTable>
avec deux colonnes en elle. Je veux la première colonne à être fixé à une largeur de 20px. L'autre colonne peut utiliser tout l'espace qui est laissé.
Voici des captures d'écran de ce que je suis actuellement:
La première <p:column>
semble ignorer les style
paramètre qui doit avoir limité la largeur. Il est de taille trop grand pour le petit carré de couleur qui est le seul contenu à l'intérieur, et puis de l'autre colonne est poussé trop loin vers la droite.
Ici, c'est plus de mon Facelet code:
<p:dataTable
id="dataTableExpressions"
value="#{catconBean.userDefinedExpressionDataModel}"
var="currentRow"
emptyMessage="!! EMPTY TABLE MESSAGE !!"
selection="#{catconBean.userDefinedExpressionToEdit}"
selectionMode="single">
<p:ajax
event="rowSelect"
listener="#{catconBean.onUserDefinedExpressionRowSelect}"
update=":toolbarForm:catconToolbar" />
<p:ajax
event="rowUnselect"
listener="#{catconBean.onUserDefinedExpressionRowUnselect}"
update=":toolbarForm:catconToolbar" />
<p:column id="paletteColor" style="width:20px;">
<h:panelGroup
layout="block"
rendered="#{not empty currentRow.paletteColor}"
style="width:16px;height:16px;border:thin;border-style:solid;border-color:black;background-color:##{currentRow.paletteColor.RGB};" />
<h:panelGroup
layout="block"
rendered="#{empty currentRow.paletteColor}"
style="width:16px;height:16px;border:thin;border-style:dashed;border-color:red;background-color:white;text-align:center;">
<h:outputText value="?" style="color:red;font-weight:bold;" />
</h:panelGroup>
</p:column>
<p:column id="name">
<f:facet name="header">
<h:outputText value="#{bundle.catcon_label_CategoryName}" />
</f:facet>
<h:outputText
value="#{currentRow.name}"
style="#{not currentRow.definitionComplete ? 'color:red;' : ''}" />
</p:column>
</p:dataTable>
Quelqu'un peut me dire comment modifier mon Facelet code pour faire la première colonne ont une largeur fixe de 20px?
Vous devez vous connecter pour publier un commentaire.
Dans PrimeFaces 3.0, ce style appliquée sur la générées intérieure
<div>
de la cellule du tableau, et non pas sur la<td>
comme vous (et moi) pourrait s'attendre. L'exemple suivant devrait fonctionner pour vous:avec
Dans PrimeFaces 3.5 et au-dessus, il devrait fonctionner exactement de la façon dont vous codées et attendu.
style="width:20px;"
de mon<p:column>
déclaration, qui a également eu aucun effet.columnClasses
de retour dans le<p:dataTable>
comme<h:dataTable>
a (qui était la première que j'ai regardé, mais à ma grande surprise il ne prend pas en charge cet attribut) voir aussi forum.primefaces.org/viewtopic.php?f=3&t=1797Cela a fonctionné pour moi
Pour une raison quelconque, ce n'était pas de travail
Mais cela a fonctionné:
width="40"
etwidth="60"
comme s'ils étaient de %s'si.Je ne sais pas quel navigateur vous utilisez, mais selon w3schools.com, nth-child et nth-last-child faire maintenant travailler sur MSIE 8. Je ne sais pas à propos de 9. http://www.w3schools.com/cssref/pr_border-style.asp vous donnera plus d'infos.
pouvez-vous essayer
Je viens de faire la suivante (en V 3.5) et cela a fonctionné comme un charme:
Outre @BalusC 's réponse. Vous devez également définir la largeur des en-têtes. Dans mon cas, ci-dessous css peut s'appliquer uniquement à ma table de la largeur de la colonne.
Inline style serait de travailler dans tous les cas