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