2015-04-27 2 views
0

Я хочу, чтобы выбрать несколько строк из primefaces DataTable, я следовал примеры в витрине, но никаких результатовprimefaces DataTable с выбором многоярусных

вот мой XHTML:

<p:dataTable id="tabJob" var="contenuJob" value="#{templateBean.contenuJob}" selection="#{templateBean.selectedRows}" 
rowKey="#{templateBean.idJob}" style="margin-bottom:0" 
scrollable="true" scrollHeight="250" rowIndexVar="rowIndex" > 

         <p:column selectionMode="multiple" style="width:16px;text-align:center" /> 
       <f:facet name="header"> 
        selectionner les colonnes 
        </f:facet> 

       <p:column headerText="#" style="width:3%"> #{rowIndex+1}</p:column> 
       <p:columns value="#{templateBean.colonnes}" var="colonnes" columnIndexVar="ind" id="col#{ind}"> 
         <f:facet name="header"> 
           <h:outputText value="#{colonnes}"/> 
         </f:facet>#{contenuJob[ind]} 
       </p:columns> 

       <f:facet name="footer"> 
        <p:commandButton process="tabJob" value="valider" action="#{templateBean.validerSelection()}"/> 
       </f:facet> 

     </p:dataTable> 

и в моем ManagedBean:

private ArrayList<String> contenuJob,selectedRows; 
................. 
public String validerSelection(){ 


     System.out.println("size de selectedRows ::"+selectedRows.size()); 

     return null; 
    } 

и подачка только возвращает 1, который является размер, я уже пробовал rowSelectMode = «добавить» в DataTable, но это ничего не меняет

+0

Я думаю, вам просто нужно SelectionMode = «мультипликатор» на DataTable –

+0

я уже пробовал, но не работает –

+0

Мне кажется, что templateBean.idJob будет постоянным для всех строк? Вместо этого попробуйте rowKey = "# {contenuJob}". Плюс вышеупомянутое предложение –

ответ

0

Как сказал Jaqen H'ghar, я изменил к rowKey="#{contenuJob}" и она работала отлично :)

Смежные вопросы