Jsf 2 Rich面临数据表样式类问题
版本:Jsf 2 Rich面临数据表样式类问题,jsf-2,richfaces,Jsf 2,Richfaces,版本: <rich:dataTable id="admin" headerClass="richTableHeader1" styleClass="richDataTable1" rowClasses="evenRow,oddRow" columnClasses="columnRow" value="#{bean.list}" var="val"> .richDataTable1{ width:100%; } <
<rich:dataTable id="admin" headerClass="richTableHeader1" styleClass="richDataTable1" rowClasses="evenRow,oddRow"
columnClasses="columnRow" value="#{bean.list}" var="val">
.richDataTable1{
width:100%;
}
<!-- this is the headerClass style used to apply custom image (not working )-->
.richTableHeader1{
background-image:url(../images/heading1.gif) !important;
background-color: #FFFFFF !important;
}
<!-- rich faces applied style overriden (working )-->
.rf-dt-hdr-c{
background-image:url(../images/heading1.gif) !important;
background-color: #FFFFFF !important;
}
ApacheMyFaces 2.1.14
RichFaces 4.3.5
问题:
<rich:dataTable id="admin" headerClass="richTableHeader1" styleClass="richDataTable1" rowClasses="evenRow,oddRow"
columnClasses="columnRow" value="#{bean.list}" var="val">
.richDataTable1{
width:100%;
}
<!-- this is the headerClass style used to apply custom image (not working )-->
.richTableHeader1{
background-image:url(../images/heading1.gif) !important;
background-color: #FFFFFF !important;
}
<!-- rich faces applied style overriden (working )-->
.rf-dt-hdr-c{
background-image:url(../images/heading1.gif) !important;
background-color: #FFFFFF !important;
}
我们正在从JSF1.2迁移到JSF2。问题是headerClass的样式没有正确应用于rich:dataTable。
调试时,rich faces似乎会用自己的样式覆盖headerClass样式。
丰富面的syle选择器.rf-dt-hdr-c覆盖自定义样式表选择器。
(我们想用自定义标题图像替换标题的颜色)
最后,当RichFaces提供的样式(.rf-dt-hdr-c)
被覆盖时,如下面的代码所示,它起作用了。
但由于它是内置样式的RichFaces,因此它将应用于每个rich:dataTable,这可能不是一个好的选择。
图中所示的类似方法在这里不起作用,因为没有将自定义样式与内置样式相结合的规定。
有没有更好的方法来解决这个问题?
有没有什么方法可以将自定义样式与.rf-dt-hdr-c一起应用,这样它就不会影响全局?
请帮忙
代码:
<rich:dataTable id="admin" headerClass="richTableHeader1" styleClass="richDataTable1" rowClasses="evenRow,oddRow"
columnClasses="columnRow" value="#{bean.list}" var="val">
.richDataTable1{
width:100%;
}
<!-- this is the headerClass style used to apply custom image (not working )-->
.richTableHeader1{
background-image:url(../images/heading1.gif) !important;
background-color: #FFFFFF !important;
}
<!-- rich faces applied style overriden (working )-->
.rf-dt-hdr-c{
background-image:url(../images/heading1.gif) !important;
background-color: #FFFFFF !important;
}
丰富数据表片段:
<rich:dataTable id="admin" headerClass="richTableHeader1" styleClass="richDataTable1" rowClasses="evenRow,oddRow"
columnClasses="columnRow" value="#{bean.list}" var="val">
.richDataTable1{
width:100%;
}
<!-- this is the headerClass style used to apply custom image (not working )-->
.richTableHeader1{
background-image:url(../images/heading1.gif) !important;
background-color: #FFFFFF !important;
}
<!-- rich faces applied style overriden (working )-->
.rf-dt-hdr-c{
background-image:url(../images/heading1.gif) !important;
background-color: #FFFFFF !important;
}
样式:
<rich:dataTable id="admin" headerClass="richTableHeader1" styleClass="richDataTable1" rowClasses="evenRow,oddRow"
columnClasses="columnRow" value="#{bean.list}" var="val">
.richDataTable1{
width:100%;
}
<!-- this is the headerClass style used to apply custom image (not working )-->
.richTableHeader1{
background-image:url(../images/heading1.gif) !important;
background-color: #FFFFFF !important;
}
<!-- rich faces applied style overriden (working )-->
.rf-dt-hdr-c{
background-image:url(../images/heading1.gif) !important;
background-color: #FFFFFF !important;
}
.richDataTable1{
宽度:100%;
}
.richTableHeader1{
背景图片:url(../images/heading1.gif)!重要;
背景色:#FFFFFF!重要;
}
.rf-dt-hdr-c{
背景图片:url(../images/heading1.gif)!重要;
背景色:#FFFFFF!重要;
}
这是一个表格标题:
<thead id="form:j_idt10:th" class="rf-dt-thd">
<tr id="form:j_idt10:h" class="rf-dt-hdr">
<th class="rf-dt-hdr-c" colspan="2" scope="colgroup">Table</th>
</tr>
</thead>
或者,您可以使用
@headerCellClass
,这不是一个文档化的功能,但它可以工作。非常感谢Makhiel。两种方法都非常有效。我为此付出了很多努力。唯一的问题是,我不明白为什么要用.richtableheader1th代替.richtableheader1tr。我的意思是为什么只有这个组合。嗨,Makhiel,我理解使用.richTableHeader1的原因。谢谢。