【问题标题】:primefaces datatable header checkbox select row all of pageprimefaces 数据表标题复选框选择所有页面的行
【发布时间】:2017-10-07 17:24:07
【问题描述】:

当我按下复选框时,选择表格每一页上的记录。请帮帮我

<p:dataTable var="projectMaterial"  id="projectMaterial" paginator="true" paginatorAlwaysVisible="true" paginatorTemplate="{CurrentPageReport}  {FirstPageLink} {PreviousPageLink} {PageLinks} {NextPageLink} {LastPageLink} {RowsPerPageDropdown}" rows="12" rowsPerPageTemplate="5,10,15" rowSelectMode="true" selection="#{pprMaterialAuthorizationBean.selectedMaterialList}" rowKey="#{projectMaterial.id}" value="#{pprMaterialAuthorizationBean.materialList}">
    <p:column  headerText="#{lang.labelMaterial}" filterBy="#{lang[projectMaterial.materialLangPrm]}" sortBy="#{lang[projectMaterial.materialLangPrm]}" width="40%">
        <h:outputText value="#{lang[projectMaterial.materialLangPrm]}" />
    </p:column>
    <p:ajax  event="toggleSelect" listener="#{pprMaterialAuthorizationBean.onToggleSelect}" update=":form1 :msgs"/> 
    <p:column id="columnId" selectionMode="multiple" width="40%"/>
</p:dataTable>

【问题讨论】:

  • 如果您将选择状态存储在托管 bean &lt;p:dataTable selection="#{pprMaterialAuthorizationBean.selectedMaterialList}"...&gt; 中,那么它将在您来回分页时存储状态。如果您不想要它,请在 actionListener (ajax/non-ajax) 中清除 bean (pprMaterialAuthorizationBean.selectedMaterialList) 中的列表。

标签: jsf checkbox primefaces datatable pagination


【解决方案1】:
 <p:dataTable var="projectMaterial"  id="projectMaterial" 
                                         paginator="true" paginatorAlwaysVisible="true" paginatorTemplate="{CurrentPageReport}  {FirstPageLink} {PreviousPageLink} {PageLinks} {NextPageLink} {LastPageLink} {RowsPerPageDropdown}"
                                         rows="12" rowsPerPageTemplate="5,10,15" rowSelectMode="true"  
                                         selection="#{pprMaterialAuthorizationBean.selectedMaterialList}" rowKey="#{projectMaterial.id}"  
                                         value="#{pprMaterialAuthorizationBean.materialList}" >

                                <p:column  headerText="#{lang.labelMaterial}" filterBy="#{lang[projectMaterial.materialLangPrm]}" sortBy="#{lang[projectMaterial.materialLangPrm]}" width="40%">
                                    <h:outputText value="#{lang[projectMaterial.materialLangPrm]}" />
                                </p:column>
                                <p:ajax event="toggleSelect" listener="#{pprMaterialAuthorizationBean.selectAllFalas}" update=":form1:projectMaterial"/>
                                <p:column selectionMode="multiple" width="40%"/>
 </p:dataTable>


public void selectAllFalas() {
            if(selectAllFalas == false) {
                selectedMaterialList = (List<HydPipeMaterial>) materialList;
                selectAllFalas = true;
            }else{
                selectedMaterialList = new ArrayList<>();
                selectAllFalas = false;
            }
        }

【讨论】:

    猜你喜欢
    • 2012-08-30
    • 2017-10-02
    • 1970-01-01
    • 2012-08-16
    • 1970-01-01
    • 1970-01-01
    • 2013-07-26
    • 2014-06-20
    • 1970-01-01
    相关资源
    最近更新 更多