我有一个可显示数千辆汽车的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();
}
答案 0 :(得分:1)
在懒惰模式下使用p:datatable
,您通过LazyDataModel中的load
方法为“可见”列表提供数据。因此,如果您以一种或另一种方式在服务器上保留该列表(例如,将其存储在@Viewscoped
bean中),则在单击“购买”时该列表可用。
另一种方法是支持多项选择,并在选择的顶部具有“全选”切换框。然后使用选定的文件服务器端