1

私はリッチフェイスの初心者で、カスタム スタイルを で定義されている列見出しに適用する際に問題に直面していますf:facet。JSF-2 と Richfaces-4 を使用しています。私のコードは以下の通りです:

<rich:dataTable  value="#{techworkdetails.workList}"  var="tech"   
    cellpadding="5"  style="width:100%" headerClass="myHeader">

   <f:facet name="header" >
    <rich:columnGroup > 
        <rich:column >Name</rich:column>
        <rich:column >Order#</rich:column>
        <rich:column >Order Date</rich:column>
    </rich:columnGroup>
</f:facet> 

<rich:collapsibleSubTable value="#{tech.workDetails}"  
    var="details" rowKeyVar="rowKey" >
    <rich:column rowspan="#{tech.workDetails.size()}" rendered="#{rowKey eq 0}">
        #{tech.name}
    </rich:column >
    <rich:column  styleClass="myHeader">
        #{details.orderNo}
    </rich:column>
    <rich:column>
         #{details.orderDate}
    </rich:column>

</rich:collapsibleSubTable> 

を使用してスタイルシートを含めました

<h:outputStylesheet name="pagestyle.css" library="css" /> 

内部h:body

「myHeader」スタイルは次のように定義されます。

.myHeader{
    background-color : yellow;
    font-weight: bold
}

問題は、dataTable に headerClass を使用しても、スタイルが反映されないことです。見出しのデフォルト スタイルがレンダリングされます。ただし、データ列のカスタム スタイルはレンダリングされます。つまり、私のスタイルは、指定されたようにdetails.OrderNo 列のデータに適用されます。また、以下のようにヘッダー列に styleClass と style を個別に使用しようとしましたが、うまくいきませんでした:(

<f:facet name="header" >
    <rich:columnGroup > 
       <rich:column styleClass="myHeader">Name</rich:column>
      <rich:column styleClass="myHeader">Order#</rich:column>
          <rich:column styleClass="myHeader">Order Date</rich:column>
    </rich:columnGroup>
</f:facet> 

f:facet 内の rich:column にスタイルを適用できないということですか? 誰かがこれで私を助けてくれませんか。

前もって感謝します

4

1 に答える 1

1

これは、Richfaces が独自の CSS を追加する前に CSS がページに追加され、前者が上書きされるために発生します。!important上書きを防ぐには、CSS 属性に追加する必要があります。

あなたの場合、それは次のようになります:

.myHeader{
    background-color : yellow !important;
    font-weight: bold !important;
}

このようにして、ブラウザは重要なスタイルを保持します。

于 2012-11-26T12:04:56.697 に答える