在 primefaces 数据表列中居中输出文本

Centering output text in a primefaces datatable column

我已经搜索了几个小时的资源,试图找到一个可行的解决方案来解决我认为是一个简单的问题:如何在 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>

唯一的方法?

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

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

以及您的 css

td.centeredColumnContent{
    text-align: center;
}