PrimeFaces Lazy DataTable:如何检索可见列表

时间:2018-11-23 17:08:46

标签: jsf primefaces

我有一个可显示数千辆汽车的lazydatatable。我将在页面顶部有一个购买按钮。 基本上,我希望用户在按“购买”按钮时购买列表中所有可见的汽车。我正在努力获取仅限于这些汽车的清单。

我该怎么办?

xhtml

 <p:dataTable var="car" value="#{carView.listCars}" paginator="true" rows="10" paginatorTemplate="{RowsPerPageDropdown} {FirstPageLink} {PreviousPageLink} {CurrentPageReport} {NextPageLink}
 {LastPageLink}" rowsPerPageTemplate="5,10,15" selectionMode="single" selection="#{carView.selectedCar}" id="carTable" lazy="true">
     <p:column headerText="Year">
     <h:outputText value="#{car.year}" />
     </p:column>

     <p:column headerText="Brand">
         <h:outputText value="#{car.brand}" />
     </p:column>

CarService

public void buy{

...
}

CarView

public void init(){
    LazyCarDataModel cars= restService.getCars();
}

1 个答案:

答案 0 :(得分:1)

在懒惰模式下使用p:datatable通过LazyDataModel中的load方法为“可见”列表提供数据。因此,如果您以一种或另一种方式在服务器上保留该列表(例如,将其存储在@Viewscoped bean中),则在单击“购买”时该列表可用。

另一种方法是支持多项选择,并在选择的顶部具有“全选”切换框。然后使用选定的文件服务器端