h:dataTable alternating rows in JSF2
I'm trying to make alternating rows in JSF2 h:dataTable (no richfaces or such) but i get an unexpected result. the table is built but it has a white grid shown (开发者_Python百科but i didn't specifiy any border) and there's no buttom line under each row.
The CSS:
.order-table{
border-collapse:collapse;
}
.order-table-header{
text-align:center;
background:none repeat scroll 0 0 #E5E5E5;
border-bottom:1px solid #95bce2;
padding:16px;
}
.order-table-odd-row{
text-align:center;
background:none repeat scroll 0 0 #FFFFFFF;
border-top:1px solid #000000;
}
.order-table-even-row{
text-align:center;
background:none repeat scroll 0 0 #ecf6fc;
border-top:1px solid #BBBBBB;
}
table.order-table tr.over {
background-color: #bcd4ec;
}
The table:
<h:dataTable id="personsTable" value="#{personController.allPersons}" var="bean"
styleClass="order-table" headerClass="order-table-header"
rowClasses="order-table-odd-row,order-table-even-row">
<h:column>
<f:facet name="header">
<h:outputText value="First Name" />
</f:facet>
<h:outputText value="#{bean.firstName}"/>
</h:column>
<h:column>
<f:facet name="header">
<h:outputText value="Last Name" />
</f:facet>
<h:outputText value="#{bean.lastName}"/>
</h:column>
<h:column>
<f:facet name="header">
<h:outputText value="Phone" />
</f:facet>
<h:outputText value="#{bean.phone}"/>
</h:column>
</h:dataTable>
and a small JQuery script:
<script type="text/javascript">
$(document).ready(function(){
$(".order-table tr").mouseover(function(){
$(this).addClass("over");
});
$(".order-table tr").mouseout(function(){
$(this).removeClass("over");
});
});
</script>
The result is (notice the white grid that came from i don't know where. And also no underline which should come from the CSS):
http://imagebin.org/132574
Finally i found the elusive answer: What i was missing is: rules="none" in the table declaration. This missing declaration managed to mess up my CSS and to partially ignore it. Now the CSS is working fully.
精彩评论