2012-08-06 89 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