我是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中的列? 有人可以帮我解决这个问题。
提前致谢
答案 0 :(得分:1)
这是因为在Richfaces添加自己的CSS之前将CSS添加到页面中,因此前者被覆盖。要防止覆盖,您需要将!important
添加到CSS属性中。
在你的情况下:
.myHeader{
background-color : yellow !important;
font-weight: bold !important;
}
这样浏览器将保留重要的样式。