2016-06-02 2 views
0

행을 선택하는 것과 같은 방식으로 클릭 만 사용하여 dataTable primefaces에서 선택된 행의 선택을 취소하는 방법. Primefaces datatable unselect 행을 다중 선택으로 클릭

내가 선택하고 순간에 선택을 해제하기 위해 사용하고있는 코드이지만, 선택 취소는 Ctrl 키 또는 CMD (Mac에서) 키를 누를 필요가있다.

<p:dataTable 
    value="#{adminiClubReconManager.bankMovementsFound}" var="movs" 
    style="width:90%;border: 0px;" 
    selection="#{adminiClubReconManager.selectedBankMovement}" 
    rowKey="#{movs.id}" editable="true" styleClass="rowStyle" 
    paginator="true" rowsPerPageTemplate="5,10,15" rows="10" 
    selectionMode="mutiple" 
    paginatorTemplate="{CurrentPageReport} {FirstPageLink} {PreviousPageLink} {PageLinks} {NextPageLink} {LastPageLink} {RowsPerPageDropdown}"> 
    <p:ajax event="rowSelect" 
     listener="#{adminiClubReconManager.onBankRowSelect()}" 
     update="@form:reconMessages" /> 
    <p:ajax event="rowUnselect" 
     listener="#{adminiClubReconManager.onBankRowUnselect()}" 
     update="@form:reconMessages" /> 
    <p:column 
     style="background:transparent;border:0px;text-align:left"> 
     <c:facet name="header"> 
      <h:outputText 
       value="#{msg['admini.common.movement.recon.number']}" /> 
     </c:facet> 
     <h:outputText value="#{movs.id}" 
      style="background:transparent;border:0px" /> 
    </p:column> 
    ... 
</p:dataTable> 
+0

AFAIK,이에 대한 attibute이 :이 문제를 해결을 위해

는 난에 primefaces 포럼에서이 물질을 finded. 문서 – Kukeltje

+2

'rowSelectMode'를 확인하십시오. 값을 '추가'하면 원하는 결과로 이어질 수 있습니다. – Kukeltje

+0

'add'값을 주면 무슨 뜻입니까? 어떻게하고 어디서 할 수 있습니까? ': 아약스? –

답변

-1

이 문제를 해결할 수있는 방법은 두 가지가 있습니다.

우선

) (있는 명령을 생성하고 primefaces에게 방법 unselectAllRows 전화;

<p:dataTable id="dataTableId" var="p" value="#{myBean.dataModel}" paginator="true" rows="50" paginatorPosition="bottom" emptyMessage="Empty results" rowKey="#{p.attribute}" selection="#{myBean.atributeList}" widgetVar="dataTableWidgetVar">` 
    <p:commandButton widgetVar="buttonClear" value="Clear selection" onclick="dataTableWidgetVar.unselectAllRows();"/> 
</p:dataTable> 

는 클릭 후에는 행이 두 번째

통해 ajaxEvent 전화 primefaces 방법 unselectAllRows()를 해제해야; 이 경우

<p:dataTable id="dataTableId" var="p" value="#{myBean.dataModel}"                              paginator="true" rows="50" paginatorPosition="bottom" emptyMessage="Empty results" rowKey="#{p.attribute}" selection="#{myBean.atributeList}" widgetVar="dataTableWidgetVar">` 
    <p:ajax event="page" update="dataTableId" oncomplete="dataTableWidgetVar.unselectAllRows();"/> 
... 
</p:dataTable> 

당신은 AJAX)의 (방법 UnselectAllRows을 실행하면 예 3 페이지에 대해 다른 페이지를 클릭하여 첫 번째 페이지의 데이터를 선택; 그리고 당신이 선택했음을 분명히합니다. https://forum.primefaces.org/viewtopic.php?f=3&t=24144

+0

마지막 코멘트를 읽는다. 제발. 거기에 묘사 된 답변에 따라 행동이 있습니까? – Kukeltje

관련 문제