Это зависит от версии браузера IE, которую вы хотите поддерживать.
Если вам не нужна поддержка IE6 / 7, то для этого вы можете использовать псевдокласс CSS2 :last-child
.
table.yourTableClass tbody tr td {
background-color: cyan;
border-bottom: medium solid black;
}
table.yourTableClass tbody tr:last-child td {
border-bottom: none;
}
с
<h:dataTable ... styleClass="yourTableClass">
(да, IE7 поддерживает аналог псевдокласса CSS2 :first-child
, но на самом деле не поддерживает :last-child
!)
Если вам небезразличен IE7, но не IE6, то вы также можете сделать это наоборот: с border-top
вместо border-bottom
, для которого установлено none
на :first-child
:
table.yourTableClass tbody tr td {
background-color: cyan;
border-top: medium solid black;
}
table.yourTableClass tbody tr:first-child td {
border-top: none;
}
Однако если вам также небезразличен IE6 (который в наши дни отвратительный ), то вы не можете сами генерировать строку классов строк (не классов столбцов!) Внутри управляемого компонента.
<h:dataTable ... rowClasses="#{flowData.rowClasses}">
с
public String getRowClasses() {
StringBuilder builder = new StringBuilder();
int size = selectedItem.getProfile().size(); // getProfiles() ?
for (int i = 0; i < size; i++) {
builder.append((i + 1 < size) ? "most," : "last");
}
return builder.toString();
}
и этот CSS
tr.more td {
background-color: cyan;
border-bottom: medium solid black;
}
tr.last td {
border-bottom: none;
}