Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/redis/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jsf Primefaces datatable多选模式-延迟加载获取_Jsf_Primefaces - Fatal编程技术网

Jsf Primefaces datatable多选模式-延迟加载获取

Jsf Primefaces datatable多选模式-延迟加载获取,jsf,primefaces,Jsf,Primefaces,在datatable上,我启用了多个选择复选框。 还有一个提交按钮,在actionlistener上,我得到了重复的记录作为选中的项目 例如,第一页是5条记录,记录总数是10条,然后第一页记录被复制两次,结果是10条记录,应该限制为5条记录 以下是代码片段: <p:dataTable id="sampleDataTable" var="_task" value="#{myBean.lazyModelTasks}" styleClass="dataTable" pa

在datatable上,我启用了多个选择复选框。 还有一个提交按钮,在actionlistener上,我得到了重复的记录作为选中的项目

例如,第一页是5条记录,记录总数是10条,然后第一页记录被复制两次,结果是10条记录,应该限制为5条记录

以下是代码片段:

<p:dataTable id="sampleDataTable" var="_task" value="#{myBean.lazyModelTasks}"
             styleClass="dataTable" paginator="true" paginatorTemplate="{PageLinks}"
             paginatorPosition="bottom" rows="5" widgetVar="dataTab"             
             paginatorAlwaysVisible="true" rowIndexVar="rowIndex" 
             lazy="true"  selection="#{myBean.selectedItems}" 
             emptyMessage="No Search Results found !">  

    <p:column selectionMode="multiple" style="width:15px;">  
        <f:facet name="header"> 
        <h:outputText value="Sno" /> 
        </f:facet>
    </p:column>
 </p:dataTable> 

 <p:commandButton id="submit" value="Select" update="#{rerenderid}"
  actionListener="#{myBean.addSelectedItems}" oncomplete="#{onlinkclick}">
  <f:attribute name="selectedItems" value="#{myBean.selectedItems}"/>
 </p:commandButton>

可能不是解决方案,但您不需要使用事件来获取所选项目,我假设您的托管bean中有以下内容:

private Address[] selectedItems;
您还应该将selectionMode=“multiple”放在datatable上,而不是像现在这样放在列上,如下所示:

<p:dataTable id="sampleDataTable" var="_task" value="#{myBean.lazyModelTasks}"
             styleClass="dataTable" paginator="true"
             paginatorTemplate="{PageLinks}"
             paginatorPosition="bottom" rows="5" widgetVar="dataTab"             
             paginatorAlwaysVisible="true" rowIndexVar="rowIndex" 
             lazy="true"  selection="#{myBean.selectedItems}" 
             selectionMode="multiple" <!--to make multiple rows selected -->
             emptyMessage="No Search Results found !"> 

<p:dataTable id="sampleDataTable" var="_task" value="#{myBean.lazyModelTasks}"
             styleClass="dataTable" paginator="true"
             paginatorTemplate="{PageLinks}"
             paginatorPosition="bottom" rows="5" widgetVar="dataTab"             
             paginatorAlwaysVisible="true" rowIndexVar="rowIndex" 
             lazy="true"  selection="#{myBean.selectedItems}" 
             selectionMode="multiple" <!--to make multiple rows selected -->
             emptyMessage="No Search Results found !">