在p:datatable中对齐h:outputText

问题描述 投票:3回答:3

我有一个<h:outputText value="#{xx.nameame}" />,如下所示

<p:dataTable>
  <p:column width="200"  >
    <f:facet name="header"    >
      <h:outputText value="Header1" />
    </f:facet>
    <h:panelGroup rendered="#{xx.addFlag == false}">
      <h:outputText value="#{xx.nameame}" />
    </h:panelGroup>
  </p:column>
</p:dataTable>

我想在单元格示例的左侧对齐此字段<h:outputText value="#{xx.nameame}" />的值:text-align:left

但问题是JSF本身,将列视为div标签,默认情况下分配css,即:

.ui-dt-c {
     white-space: normal;
     text-align: center;
}

由于上述原因,文本对齐中心。如果我将上面的内容更改为text-align: to left,所有数据表也将在其他屏幕中更改。 因此,我想将更改仅应用于上述数据表而不是其他数据表。

我怎样才能实现它?

css jsf primefaces
3个回答
20
投票

对于较旧的PrimeFaces版本(5.2之前的版本),请使用此代码使其保持对齐状态。

<div align="left"><h:outputText value="#{xx.nameame}" /></div>

对于较新的PrimeFaces版本,请参阅the answer below,您可以将样式放在列上


2
投票

你也可以使用style属性和float选项一样;

<h:outputLabel value="Max" style="float:left" />

1
投票

在现代PrimeFaces版本(> 5.1)中,内容周围的div不再呈现,因此问题以不同的方式解决(因为当您使用Qadir Hussain回答时,如果网页在移动视图中,列值显示在下面列名(预期与列名相反))。

在最近的PrimeFaces版本中,“内容”栏目内容的div不再存在,因此以下“正常工作”

<p:column style="text-align: left" class="TexLeft">
......
....
</p:column>

因此,您可以为元素提供样式或类或两者,这将解决您的响应或更复杂的问题。

© www.soinside.com 2019 - 2024. All rights reserved.