将输出文本放在primefaces数据表列的中心

时间:2018-09-11 16:29:19

标签: css jsf primefaces

我一直在寻找资源两个小时,试图找到解决我认为简单的问题的解决方案:如何将输出文本居中在primefaces数据表的各个列中?

我所看到的每个地方都说用<div>标签包围该列,这对我来说确实很奇怪而且效率低下。许多地方说使用style =“ center”,这是行不通的。即使在primefaces.org extensions showcase处给出的示例也表明,在有以下情况的情况下,此操作无效:

 <p:column filterBy="#{message.country}">  
      <f:facet name="header">  
         <h:outputText value="Country" />  
      </f:facet>  
         <h:outputText value="#{message.country}" style="center"/>  
 </p:column>  

但是,国家/地区的数据在左侧对齐。

为了使文本在列中居中

<p:column headerText="Last Name">
    <h:outputText value="#{item.lastName}" />
</p:column>

这是:

<p:column headerText="Last Name">
    <div align="center">
        <h:outputText value="#{item.lastName}" />
    </div>
</p:column>

唯一的方法吗?

1 个答案:

答案 0 :(得分:1)

您可以为p:column元素定义styleClass属性,然后使用CSS设置适当的样式。

<p:column headerText="Last Name" styleClass="centeredColumnContent">
    <h:outputText value="#{item.lastName}" />
</p:column>

和CSS中的

td.centeredColumnContent{
    text-align: center;
}