Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jsf-2/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jsf 2 Rich面临数据表样式类问题_Jsf 2_Richfaces - Fatal编程技术网

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的原因。谢谢。