Css 设置jsf数据表中最后一条记录的样式

Css 设置jsf数据表中最后一条记录的样式,css,jsf,datatable,Css,Jsf,Datatable,我遇到的情况是,返回到dataTable元素的一行中包含的数据超过了可以容纳的数据量。为了解决这个问题,我简单地将结果合并到一个单元格中。我要寻找的是一种确定我是否已到达结果集中的最后一个对象的方法,以便我可以删除用作分隔符的底部边框。最终我不知道我将处理多少对象 .most { background-color:cyan; border-bottom:medium solid black; } .last { border-bottom:none; } <h:d

我遇到的情况是,返回到dataTable元素的一行中包含的数据超过了可以容纳的数据量。为了解决这个问题,我简单地将结果合并到一个单元格中。我要寻找的是一种确定我是否已到达结果集中的最后一个对象的方法,以便我可以删除用作分隔符的底部边框。最终我不知道我将处理多少对象

.most {
    background-color:cyan;
    border-bottom:medium solid black;
}
.last {
    border-bottom:none;
}

<h:dataTable id="myTable" value="#{flowData.selectedItem.profile}" var="profile" columnClasses="most, last">
<h:column>
    <h:inputText id="_last" value="#{profile.last}" />
    <h:inputText id="_first" value="#{profile.first}" />
    <h:inputText id="_middle" value="#{profile.middle}" />
    <h:inputText id="_city" value="#{profile.city}" />
    <h:inputText id="_state" value="#{profile.state}" />
</h:column>
</h:dataTable>
。大多数{
背景色:青色;
底边:中等纯黑;
}
.最后{
边框底部:无;
}

提前感谢您的任何输入。

这取决于您希望支持的IE浏览器版本

如果您不关心IE6/7支持,那么您可以使用CSS2
:last child
伪类来实现这一点

table.yourTableClass tbody tr td{
背景色:青色;
底边:中等纯黑;
}
table.yourTableClass tbody tr:最后一个孩子td{
边框底部:无;
}


(是的,IE7支持CSS2伪类对应的
:first child
,但它确实不支持
:last child
!)

如果您关心IE7,但不关心IE6,那么您也可以反过来做,使用
边框顶部
而不是
边框底部
,在
上设置为
:第一个孩子

table.yourTableClass tbody tr td{
背景色:青色;
边框顶部:中等纯黑;
}
table.yourTableClass tbody tr:第一个孩子td{
边界顶部:无;
}
但是,如果您也关心IE6(现在就是这样),那么您就不能在托管bean中自行生成行类(而不是列类!)字符串


公共字符串getRowClasses(){
StringBuilder=新的StringBuilder();
int size=selectedItem.getProfile().size();//getProfiles()?
对于(int i=0;i
这个CSS

tr.more td {
    background-color: cyan;
    border-bottom: medium solid black;
}
tr.last td {
    border-bottom: none;
}

感谢您对解决此问题的各种方法的精彩描述。最后,我选择从bean生成rowClass。它就像一个符咒。