2012-08-06 91 views
1

嗨我有一个数据表加载惰性数据和一个上下文菜单,选择/取消选择所有项目的选项。但我不知道如何做到这一点。Primefaces - Datatable选择所有项目

<h:form> 
    <p:contextMenu for="tableNozzleFamily"> 
     <p:menuitem value="#{bundle.global_select_all}" icon="ui-icon-plus"/> 
     <p:menuitem value="#{bundle.global_unselect_all}" icon="ui-icon-minus"/> 
    </p:contextMenu> 
    <p:dataTable id="tableNozzleFamily" var="nf" value="#{nozzleBean.lazyModel}" paginator="true" rows="20" rowsPerPageTemplate="20, 30, 50" lazy="true" emptyMessage="#{bundle.global_no_data}" selection="#{nozzleBean.selectedNozzleFamilies}"> 
     <p:columnGroup type="header"> 
      <p:row> 
       <p:column rowspan="2" headerText="#{bundle.global_selection}"/> 
       ... 
      </p:row> 
     </p:columnGroup> 
     <p:column selectionMode="multiple" style="width:18px"/> 
     ... 
    </p:dataTable> 

我的环境: Glassfish的3.1.2.2 钻嘴鱼科-2.1.11 Primefaces-3.3.1

回答

3

你检查primefaces展示?有一个例子完全是this

<p:dataTable id="multiCars" var="car" value="#{tableBean.mediumCarsModel}" paginator="true" rows="10" 
      selection="#{tableBean.selectedCars}"> 

    <f:facet name="header"> 
     Checkbox Based Selection 
    </f:facet> 

    <p:column selectionMode="multiple" style="width:18px" /> 

    <p:column headerText="Model"> 
     #{car.model} 
    </p:column> 

    <p:column headerText="Year"> 
     #{car.year} 
    </p:column> 

    <p:column headerText="Manufacturer" > 
     #{car.manufacturer} 
    </p:column> 

    <p:column headerText="Color"> 
     #{car.color} 
    </p:column> 

    <f:facet name="footer"> 
     <p:commandButton id="multiViewButton" value="View" icon="ui-icon-search" 
         update=":form:displayMulti" oncomplete="multiCarDialog.show()"/> 
    </f:facet> 
</p:dataTable> 
+0

是的,我在primefaces展示案例中看过这个例子,但这个例子并没有以编程方式实现。我认为正确的方法是在上下文菜单和服务器上下文中选择全部或使用JavaScript来选择全部。 – 2012-08-06 12:38:45

+0

@AndréAndrade没有任何意义。这是正确的方法。你可能会找到其他方法,但是为什么当图书馆已经为你提供了一个实现方案时呢?如果您需要在服务器端执行额外的处理,则可以使用在标题复选框切换时触发的ajax事件“toogleSelect” – Damian 2012-08-06 12:44:18

+0

由于项目要求之一是要有一个上下文菜单,其中包含全选/清除选择和一些其他选项。我同意,如果使用上下文菜单,则使用默认解决方案 – 2012-08-06 12:50:04