2013-05-02 4 views
0

사용자가 데이터 테이블 행을 위아래로 이동해야하는 요구 사항이 있습니다. 컨텍스트 메뉴가 유용 할 것으로 생각했습니다. 위로 이동 및 이동 이것을 위해 Primefaces Showcase에서 datatable 예제를위한 상황에 맞는 메뉴를 구현해 보았습니다. 그러나 나는 대화 상자에 표시되는 datatable 행에서 선택한 값을 가져 오지 않을거야. 어떤 도움을 주시면 감사하겠습니다Datatable에서 ContextMenu를 사용하는 동안 Dialog에서 선택된 값을 가져올 수 없습니다.

<p:contextMenu for="availableCars"> 
     <p:menuitem value="View" update="display" icon="ui-icon-search" oncomplete="carDialog.show()"/> 
     </p:contextMenu> 
     <p:dataTable id="availableCars" var="car" value="#{RequestBean.formFields}" rowKey="#{car.car_group}" selectionMode="single" selection="#{RequestBean.selectedField}"> 
     <p:column headerText="Field Label"> 
     <h:outputText value="#{car.car_label}" /> 
     </p:column> 
     <p:column headerText="Field Group"> 
     <h:outputText value="#{car.car_group}" /> 
     </p:column> 
     <p:column headerText="Field Name"> 
      <h:outputText value="#{car.car_name}" /> 
     </p:column> 
     </p:dataTable> 

     <p:dialog header="Car Detail" widgetVar="carDialog" resizable="false" 
      width="200" showEffect="clip" hideEffect="fold" id="dialog"> 
     <h:panelGrid id="display" columns="2" cellpadding="4"> 
     <h:outputText value="Car label:" /> 
     <h:outputText value="#{RequestBean.selectedField.car_label}" style="font-weight:bold"/> 
     <h:outputText value="car Group" /> 
     <h:outputText value="#{RequestBean.selectedField.car_group}" style="font-weight:bold"/> 
     <h:outputText value="Car Name:" /> 
     <h:outputText value="#{RequestBean.selectedField.car_name}" style="font-weight:bold"/> 
     </h:panelGrid> 
     </p:dialog> 

:

아래의 코드를 찾아주세요. N.B : PF를 사용하고 있습니다. 2.2.1

답변

0

아약스를 사용하여 선택이 전송되지 않은 것처럼 보입니다. 데이터 표에 onRowSelectUpdate 속성을 설정해야합니다. Primefaces 문서에서

: 전술 된 단일 및 다중 선택 옵션에서

는 폼을 둘러싸는 것은 선택 처리 및 선택 값을 기준으로 설정 될 수 있도록 사용자가 를 제출해야한다. 행을 선택하면 즉시 rowSelectListeneror를 바인딩하거나 onRowSelectUpdate 옵션을 정의 할 때마다 사용자 지정 논리를 실행하고 싶습니다.

+0

감사합니다. @dratewka. 그것은 작동합니다. 또한 selectedField 데이터를 설정하려면 rowSelectListener = "# {RequestBean.onCarSelect}"사용했습니다. –

관련 문제