0

私はそのようなデータテーブルを持っています:

  <h:dataTable  styleClass="pretty"   value="#{ftController.ftDataModel}" var="item">
                    <h:column headerClass="left">
                        <f:facet name="header">
                            <h:outputText value="Amount"/>
                        </f:facet>
                        <h:outputLink   value="index.jsf"><h:outputText value="#{item.ftType}"/></h:outputLink><br />
                        <h:outputText class="red" id="amount"   value="#{item.amount}"></h:outputText> <h:outputText value="&#160;" /><h:outputText  style="font-size:12px" class="gray" value="TL" />
                    </h:column>
                    <h:column headerClass="right" >
                        <f:facet  name="header">
                            <h:outputText value="Date"/>
                        </f:facet> 
                        <h:outputText value="#{item.date}" />
                    </h:column>
                </h:dataTable>

この class="right" を指定したいのですが、この行だけで<h:outputText value="#{item.date}" />class 属性を使用するにはどうすればよいですか?

4

2 に答える 2

0

私はあなたの質問を誤解しているかもしれませんが、あなたの質問はデータテーブルに関する誤った仮定に基づいているのではないかと思います. たとえば、次のデータテーブルを使用します。

<h:dataTable value="#{foo.selectedWidgets}" var="widget">
    <h:column>
         #{widget.name}
    </h:column>
</h:dataTable>

タグのコンテンツ<h:column>(header ファセットを除く) -- 私の例では #{widget.name}--は行ではありません。むしろ、<td>特定の列に対して生成されるすべてのタグのテンプレートです。このdataTable がループするウィジェットごとに、ウィジェットの name 属性が出力されます。これが「テンプレート」と呼ばれるものです。したがって、 h:column に対して行うことはすべて、特定の行ではなく、列全体に影響します。

これに対する私の解決策は非 JSF です。CSS シートを使用し、first-childまたはnth-childセレクターを使用して、スタイルを設定する行を選択します。

于 2013-04-19T18:26:45.863 に答える
0

その出力テキストをh:panelGroupでラップするのはどうですかこれによりspanタグが生成され、styleclassを使用して必要なcssクラスを割り当てることができます

于 2013-04-19T18:36:06.030 に答える