1

我是 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,我的风格也没有得到反映;insted 呈现标题的默认样式。但是会呈现数据列的自定义样式。即,我的样式正在详细应用于数据。 给定的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

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

在你的情况下,这将是:

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

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

于 2012-11-26T12:04:56.697 回答