右对齐数据表列中的单元格内容

Ste*_*eve 12 css datatable jsf

我想右对齐一个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>
Run Code Online (Sandbox Code Playgroud)

Bal*_*usC 18

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

<h:dataTable columnClasses="column1,column2,column3">
Run Code Online (Sandbox Code Playgroud)

上面的内容呈现<td class="column1">第一列,<td class="column2">第二列呈现,依此类推.这允许您外化和规范化样式.

想象一下,你有4列,第一,第二和第四列不需要有一个特殊的样式,只有第三列需要右对齐,然后这样做

<h:dataTable columnClasses="none,none,right,none">
Run Code Online (Sandbox Code Playgroud)

与...结合

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

这在语义上更正确,技术上更强大float: right;.

  • 啊,是的,我现在看到你要来的地方.是的,必须在`<h:column>`的`headerClass`属性中指定各个列标题.如果有一个`<h:dataTable headerClasses>和/或`<h:column styleClass>`,那将是有意义的.好吧,考虑向JSF规范人员发布增强请求. (3认同)