我想右对齐 outputText 值(即下面的 fee.TableAmount),并且我想保持该列的标题居中。我必须传递给下面的 outputText 什么参数才能实现这一点?

<h:dataTable>
    ...
    (other columns)
    ...
    <h:column headerClass="columnCenter">
        <f:facet id="header_agency" name="header">
            <h:outputText value="Amount"/>
        </f:facet>
        <h:outputText value="#{fee.tableAmount}">
            <f:convertNumber maxFractionDigits="2" groupingUsed="true"
                currencySymbol="$" type="currency" />
        </h:outputText>
    </h:column>
</h:dataTable>

最佳答案

您可以使用 columnClasses<h:dataTable> 属性在同一列的所有单元格上指定 CSS 类。您可以传递以逗号分隔的类名字符串。

<h:dataTable columnClasses="column1,column2,column3">

以上为第一列呈现 <td class="column1">,为第二列呈现 <td class="column2">,依此类推。这允许您外部化和规范化样式。

假设你有 4 列,第一、二、四列不需要特殊样式,只有第三列需要右对齐,然后这样做
<h:dataTable columnClasses="none,none,right,none">

结合
td.right {
    text-align: right;
}

这在语义上比 float: right; 更正确,技术上更健壮。

关于css - 右对齐数据表列中的单元格内容,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/5112151/

10-13 06:12