2014-06-16 89 views
0

我有一個數據表與多選擇選項。Primefaces datatable不要選擇與點擊

 <p:dataTable id="RecipientTable" var="Recipient" 
     value="#{mainPageBean.recipients}" 
     selection="#{mainPageBean.selectedRecipients}" 
     rowKey="#{Recipient.recipientID}"> 
     <p:ajax event="rowSelectCheckbox" 
      listener="#{mainPageBean.recipientSelect}" update=":form:DebitorTable" /> 
     <p:ajax event="rowSelect" listener="#{mainPageBean.switchOtherTable}" 
      update=":form:DebitorTable" /> 
     <f:facet name="header">Liste aller Recipients</f:facet> 

     <p:column selectionMode="multiple" /> 
     <p:column> 
      <f:facet name="header"> 
       <h:outputText value="RecipientID" /> 
      </f:facet> 
      <h:outputText value="#{Recipient.recipientID}" /> 
     </p:column> 

     <p:column> 
      <f:facet name="header"> 
       <h:outputText value="Value1" /> 
      </f:facet> 
      <h:outputText value="#{Recipient.value1}" /> 
     </p:column> 

     <p:column> 
      <f:facet name="header"> 
       <h:outputText value="Value2" /> 
      </f:facet> 
      <h:outputText value="#{Recipient.value2}" /> 
     </p:column> 

     <p:column> 
      <f:facet name="header"> 
       <h:outputText value="Ein Debitor hat Inkassoflag" /> 
      </f:facet> 
      <h:outputText value="#{Recipient.debitorIncasso}" /> 
     </p:column> 
    </p:dataTable> 

我的問題是,我只想在點擊複選框時選擇一個值。當你點擊該行時,只有ajax事件應該開始。

回答

0

我找到了解決方案。我不使用。我用

 <p:column> 
      <p:selectBooleanCheckbox value="#{Recipient.selected}"> 
       <p:ajax event="change" listener="#{mainPageBean.selectRecipient}" 
        update=":form:confirmDialog" /> 
      </p:selectBooleanCheckbox> 
      <f:facet name="header"> 
       <p:selectBooleanCheckbox> 
        <p:ajax event="change" update="RecipientTable,:form:confirmDialog" 
         listener="#{mainPageBean.selectAllRecipients}" /> 
       </p:selectBooleanCheckbox> 
      </f:facet> 
     </p:column> 

這個簡單的創建一個自己的複選框。現在我可以將表的selectionmode設置爲single,並將一個ajax事件綁定到它。