6

在我的应用程序中,我有以下内容<p:dataTable>

数据表

第二列的标题占用太多空间。因此,我想在Number of&之间放置一个换行符,Sessions并垂直对齐表格的标题。我试图减小列的宽度,但它并没有自动导致换行。

此外,由于标题名称是从l10n.properties文件中检索的,因此我也尝试将其设置为Number of /n Sessions/n被打印为普通字符串。

更新:我还尝试将属性设置为Number of <br/> Sessions. 但是,在生成的 HTML 代码中,<br/>消失了,表格看起来和上面完全一样。

如果您能给我一个建议,我将不胜感激。

最好的祝福,

4

4 回答 4

23

首先,您需要headerText从列中删除属性并在其中添加标题方面:

/*  no_of_sessions = Number of &#10; Sessions  */
<p:column ... >
    <f:facet name="header">
        <h:outputText value="#{l10n.no_of_sessions}" 
                  escape="false" style="white-space:pre-line;" />
    </f:facet>
    ...
</p:column>

是相关的escape="false",所以 html 被转义,然后你可以把任何你想要的东西放在那里。如果您只想设置内容样式,则不需要

于 2012-07-16T09:24:26.193 回答
6

试试这个

<f:facet name="header">
    <h:outputLabel value="Number of&#10;Sessions" style="white-space:pre;"/>
</f:facet>

如果使用属性文件中的“会话数”,请在属性文件中尝试以下操作...

myString = Number of \
           Sessions
于 2012-07-16T06:44:56.350 回答
0

如果是 CSS,您可以<br/>在“数量”之后添加一个标签。我刚看到你编辑的帖子。

您在 Firebug 中所做的实际上是“编辑文本”但是,您需要做的是“右键单击”,然后是“编辑 HTML”。这样,当您插入
标签时,文本会中断并转移到下一行。

于 2012-07-15T19:59:28.420 回答
0

最简单的答案是在 style 属性中添加 white-space:pre-line。请参阅下面的代码

<p:column headerText="Number of Sessions" style="white-space:pre-line;width:50px;">
     <h:outputText value="#{value}"></h:outputText>
</p:column>
于 2014-05-14T09:53:23.080 回答