Jsf primefaces数据表标题复选框选择页面的所有行
当我按下复选框时,在表格的每一页上选择记录。请帮帮我Jsf primefaces数据表标题复选框选择页面的所有行,jsf,checkbox,primefaces,datatable,pagination,Jsf,Checkbox,Primefaces,Datatable,Pagination,当我按下复选框时,在表格的每一页上选择记录。请帮帮我 <p:dataTable var="projectMaterial" id="projectMaterial" paginator="true" paginatorAlwaysVisible="true" paginatorTemplate="{CurrentPageReport} {FirstPageLink} {PreviousPageLink} {PageLinks} {NextPageLink} {LastPageLink}
<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>
public void selectAllFalas(){
如果(选择AllFalas==false){
selectedMaterialList=(List)materialList;
选择AllFalas=true;
}否则{
selectedMaterialList=new ArrayList();
选择AllFalas=false;
}
}
如果将选择状态存储在托管bean中,则在来回分页时,它将存储该状态。如果不需要,请清除actionListener(ajax/非ajax)中bean(pprMaterialAuthorizationBean.selectedMaterialList
)中的列表。
<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;
}
}