PrimeFaces DataTable: как использовать var = "item" в качестве переменной при получении rowStyle, например? - PullRequest
1 голос
/ 12 сентября 2011

Я имею в виду это.У меня есть JSF-страница с PrimeFaces Datatable, и я хочу получить имя rowstyleClass из bean-компонента.Но метод bean должен проверять запись из таблицы, чтобы получить строковое значение styleClass.

Могу ли я сделать что-то вроде этого

@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 Ответ

2 голосов
/ 14 сентября 2011

Я нашел решение.

ответ прост.

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

вместо

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

отлично работает

...