无法在f:facet内的列标题上应用自定义样式

时间:2012-11-26 10:29:17

标签: css jsf-2 richfaces

我是richfaces的初学者,我在将自定义样式应用于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
}

问题是,即使我使用headerClass作为我的dataTable,我的风格也没有得到反映; insted渲染标题的默认样式。但是呈现了数据列的自定义样式。即,我的样式将被应用于 details.OrderNo 列中的数据。 我也尝试单独使用styleClass和样式作为标题列,如下所示,但没有运气:(

<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中的列? 有人可以帮我解决这个问题。

提前致谢

1 个答案:

答案 0 :(得分:1)

这是因为在Richfaces添加自己的CSS之前将CSS添加到页面中,因此前者被覆盖。要防止覆盖,您需要将!important添加到CSS属性中。

在你的情况下:

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

这样浏览器将保留重要的样式。