带有复选框的PrimeFaces DataTable选择不起作用

时间:2019-02-07 07:53:05

标签: java jsf primefaces

所有属性(如文本值,id,呈现等)均被省略。

我在单独的文件中有一些面板,可以导出到pdf btn。

<p:commandButton>
    ajax="false"
    onclick="blockUiOnDownload('blockUI')"     
    action="#{exportView.exportPlanPdf()}">
</p:commandButton>

ClassHelper

@ViewScoped
public class ClassHelper implements Serializable {
    private List<Model> tableSelectedModel
    //setter and getter, other vars and methods are not important
}

我有具有选择属性的dataTable

<p:dataTable 
    value="#{classHelper.model}" var="data"
    selection="#{classHelper.tableSelectedModels}">
<p:column id="selectionColumn" selectionMode="multiple"/>

当然我有专栏等等,但这并不重要。 然后从exportPlanPdf()检查LIst tableSelectedModels是否为空,并依赖于此,我将导出所有表或仅导出选定的项。

if (!CollectionUtils.isEmpty(classHelper.getTableSelectedModels())) {
    modelsToExport = classHelper.getTableSelectedModels(); {
else {
    //get all models
}

问题是,然后我打开此表并按export btn,它会导出所有模型。然后,如果我选择1-2-3-etc。表中的所有行并尝试导出选定的行,所有模型将再导出一次。

但是,如果我刷新页面并首先选择一些模型并导出它们,它将根据需要导出(仅选中)。如果我取消选择它们,它将导出所有模型(按预期)。如果在此之后再次选择,它将导出所有行(但仅选中需要的行)。 不明白问题所在。

0 个答案:

没有答案