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

Big*_*ish 1 css jsf primefaces

我已经搜索了几个小时的资源,试图找到一个可行的解决方案来解决我认为的一个简单问题:如何将输出文本集中在一个 primefaces 数据表的各个列中?

我看到的每一个地方都说用<div>标签包围列,这对我来说真的很奇怪而且效率低下。很多地方都说使用style="center",这是行不通的。即使在primefaces.org extensions 展示中给出的例子也表明这不起作用,他们有:

 <p:column filterBy="#{message.country}">  
      <f:facet name="header">  
         <h:outputText value="Country" />  
      </f:facet>  
         <h:outputText value="#{message.country}" style="center"/>  
 </p:column>  
Run Code Online (Sandbox Code Playgroud)

然而,国家/地区的数据向左对齐。

为了使列中的文本居中:

<p:column headerText="Last Name">
    <h:outputText value="#{item.lastName}" />
</p:column>
Run Code Online (Sandbox Code Playgroud)

这是:

<p:column headerText="Last Name">
    <div align="center">
        <h:outputText value="#{item.lastName}" />
    </div>
</p:column>
Run Code Online (Sandbox Code Playgroud)

唯一的办法?

小智 6

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

<p:column headerText="Last Name" styleClass="centeredColumnContent">
    <h:outputText value="#{item.lastName}" />
</p:column>
Run Code Online (Sandbox Code Playgroud)

和你的 css

td.centeredColumnContent{
    text-align: center;
}
Run Code Online (Sandbox Code Playgroud)