我想根据状态列更改行的颜色。我看过primefaces网站上的例子 http://www.primefaces.org/showcase/ui/datatableColoring.jsf 并在线查找示例但我似乎无法使用我的代码。问题是它突出显示所有内容而不仅仅是状态设置为“已关闭”的行
这是我的代码
<p:dataTable id="ComplaintTable" var="complainer"
rowKey="#{complainer.id}"
selection="#{bigComplaintsDAO.selectedComplaintRow}"
widgetVar="complaintsTableSearch"
paginator="True" rows="15"
paginatorTemplate="{CurrentPageReport} {FirstPageLink} {PreviousPageLink} {PageLinks} {NextPageLink} {LastPageLink} {RowsPerPageDropdown}"
rowsPerPageTemplate="15,20,30,40,50,100"
resizableColumns="true"
filteredValue="#{bigComplaintsDAO.filteredComplaintRow}"
selectionMode="single" value="#{bigComplaintsDAO.complaintList}"
style="font-size:10px;width:100%;"
rowStyleClass="#{(complaint.status) eq Closed ? 'Closed' : null}">
和CSS
<style type="text/css">
.Closed
{
background-color: #6CE26C !important;
background-image: none !important;
color: #000000 !important;
}
</style>
解决了!我将代码更改为
rowStyleClass="#{(complainer.status) eq 'Closed' ? 'Closed' : null}"
希望这有助于将来的其他人!
在我的例子中,如果数据表放在p:panelGrid中,则rowStyleClass不起作用。我切换到p:面板,然后它工作。
对我来说,以下代码有效:
DataTable(HTML)
<p-dataTable [rowStyleClass]="getRowClass">
组件(TS)
getRowClass() {
return 'my-new-class';
}