2014-07-10 2 views
1

대화 상자 내에서 panelgrid 양식 selectOneRadio을 업데이트하려고합니다. 두 옵션 중 하나를 선택했을 때마다 panelGrid 붕괴가 발생했으며 NPE는 아무런 세부 사항없이 무시되었습니다.Primefaces selectOneRadio (RadioButton) 대화 상자 내에서 panelGrid 업데이트

내 소스 코드 :

<h:form id="form_tmpVst"> 
     <p:dialog id="dialog_tmpVst" header="Temporäre Verkaufsstelle" widgetVar="dialog_tmpVst" modal="true" resizable="false" showEffect="clip"> 

      <p:selectOneRadio id="radio_placeOnMap" value="#{mapBean.placedByAddress}" layout="custom"> 
       <f:selectItem itemLabel="Karte" itemValue="#{false}" /> 
       <f:selectItem itemLabel="Adresse" itemValue="#{true}" /> 
       <p:ajax update="panel_tmpVst" /> 
       <!-- <p:ajax @process="@this" update="@this panelTempVst" /> --> 
      </p:selectOneRadio> 

      <p:panelGrid id="panel_tmpVst"> 
       <p:row> 
        <p:column colspan="2"> 
         <p:outputLabel value="Platzierung: " /> 
        </p:column> 
       </p:row> 
       <p:row> 
        <p:column> 
         <p:radioButton id="radio_tmpVstPlaceByAddress" for="radio_placeOnMap" itemIndex="0" /> 
         <p:outputLabel value="Karte" for="radio_tmpVstPlaceByAddress" /> 
        </p:column> 
       </p:row> 
       <p:row> 
        <p:column> 
         <p:radioButton id="radio_tmpVstPlaceByMap" for="radio_placeOnMap" itemIndex="1" /> 
         <p:outputLabel value="Adresse" for="radio_tmpVstPlaceByMap" /> 
        </p:column> 
        <p:column> 
         <p:inputTextarea id="txtarea_address" rows="5" cols="30" counter="txtarea_counter" maxlength="200" counterTemplate="{0} Zeichen übrig." 
          autoResize="false" value="test data __öäüöäöüöäö" required="#{mapBean.placedByAddress}" disabled=" #{!mapBean.placedByAddress}" 
          style="resize: none;" /> 
         <br /> 
         <h:outputText id="txtarea_counter" style="font-size: .5em;" /> 
        </p:column> 
       </p:row> 

       <p:row> 
        <p:column> 
         <p:outputLabel value="Name:" for="txt_tmpname" /> 
        </p:column> 
        <p:column> 
         <p:inputText id="txt_tmpname" value="#{mapBean.tmpVstName}" required="true" /> 
        </p:column> 
       </p:row> 
       <p:row> 
        <p:column> 
         <p:outputLabel value="BST:" for="txt_bsttmp" /> 
        </p:column> 
        <p:column> 
         <p:inputText id="txt_bsttmp" value="#{mapBean.tmpDistrict}" required="true" /> 
        </p:column> 
       </p:row> 
       <p:row> 
        <p:column> 
         <p:outputLabel value="VST:" for="txt_vsttmp" /> 
        </p:column> 
        <p:column> 
         <p:inputText id="txt_vsttmp" value="#{mapBean.tmpVstNumber}" required="true" /> 
        </p:column> 
       </p:row> 
      </p:panelGrid> 
      <br /> 
      <p:commandButton value="Hinzufügen" id="btn_addTmpVst" action="#{mapBean.addTempVst()}" type="submit" ajax="true" 
       update=":dataTableForm:markerListDataTable, :mapForm:map, :growl" oncomplete="PF('dialog_tmpVst').hide();" /> 
     </p:dialog> 
    </h:form> 

전 : 라디오 버튼 klick 후 enter image description here

: advence에서

enter image description here

많은 감사이 아니오

+0

사용중인 브라우저 :

이 업데이트 h:panelGrid 나란히 p:selectOneRadio, 예상대로 렌더링이 일하는 것이 그런 식으로 해결하려면? – Sarz

+0

Chrome 및 Firefox에서 테스트되었습니다 – Khinsu

+0

''* 내부에 '' – kolossus

답변

1

rlm, basiclly p:radioButton이 포함 된 h:panelGrid을 소유자 (p:selectOneRadio)에 알리지 않고 업데이트 중입니다.

<p:ajax update="panel_tmpVst radio_placeOnMap" /> 
+0

이 작동하지 않는 것이 가장 좋을 수 있습니다. 라디오 버튼은 한 번만 전환 할 수 있으며 '

'전환 후 비활성화되지 않습니다 – Khinsu

+0

이 [답변] (http://stackoverflow.com/questions/22017066/exception-when-using-ajax-event-on-custom 참고) -selectoneradio/22017603 # 22017603) .. NPE는 어디서 구할 수 있습니까? –

+0

내가 아는 p : ajax에 댓글을 달았습니다. 프로세스가 해당 구성 요소를 처리하면 업데이트가 정상적으로 작동합니까? 작동하지 않습니다. 그 라인에서 오류가 있습니까? –

관련 문제