PrimeFaces DataTable:例如,如何使用 var="item" 作为获取 rowStyle 的变量?

Posted

技术标签:

【中文标题】PrimeFaces DataTable:例如,如何使用 var="item" 作为获取 rowStyle 的变量?【英文标题】:PrimeFaces DataTable: how to use a var="item" as a variable in getting rowStyle for example? 【发布时间】:2011-11-15 02:58:34 【问题描述】:

我是说这个。我有一个带有 PrimeFaces 数据表的 JSF 页面,我想从 bean 中获取一个 rowstyleClass 名称。但是 bean 方法应该检查表中的记录以返回 styleClass 的 String 值。

我可以这样做吗

@ManagedBean(name="styleController")
@SessionScoped
public class StyleController 

    public StyleController() 
    

    public String getContractStyle(ContrMain contrMain) //ContrMain - entity class
        if(contrMain.getCloseDate()!=null && contrMain.getClosedBy()!=null)
            return "closed";
        else
            return "acting";
        
    

在 JSF 页面中是这样的

<p:dataTable value="#contrMainController.items" 
             var="item" 
             ...
             rowStyleClass="ui-datatable-#styleController.contractStyle(item)">

我知道这行不通。有没有办法使用“item”变量?

【问题讨论】:

【参考方案1】:

我已经找到了决定。

答案很简单。

rowStyleClass="ui-datatable-#styleController.getContractStyle(item)"

而不是

rowStyleClass="ui-datatable-#styleController.contractStyle(item)"

工作正常

【讨论】:

以上是关于PrimeFaces DataTable:例如,如何使用 var="item" 作为获取 rowStyle 的变量?的主要内容,如果未能解决你的问题,请参考以下文章

将 primefaces 数据表与 org.primefaces.component.datatable.DataTable 绑定;

Primefaces 数据表重置分页

Primefaces:从p:dataTable中的行选择中排除列

Primefaces dataTable过滤日期

使用带有Primefaces DynaForms的dataTable

primefaces datatable 怎么让footer固定