6

私のアプリケーションでは、次のものがあります<p:dataTable>

データ表

2 列目のヘッダーのスペースが多すぎます。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/>「Number of」の後にタグをつけてもいいです。編集した投稿を見ました。

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 に答える