2013-05-02 3 views
0

"contentForm : tabView : form : addressBookTable" "오류에서 참조 된"contentForm : tabView : form : addressDialogPanel "식별자가있는 구성 요소를 찾을 수 없습니다. 위젯 내에서 내 PanelGrid를 어떻게 업데이트 할 수 있습니까?primefaces panelgrid 데이터 테이블 업데이트

<h:form id="form"> 

<p:dataTable id="addressBookTable"> 
<p:ajax event="rowSelect" listener="#{addressBookController.onRowSelect}" 
       update="contentForm:tabView:form:addressDialogPanel" oncomplete="addressDialog.show()" /> 
</p:dataTable> 

<p:dialog id="addressDialogId" widgetVar="addressDialog"> 
    <h:panelGrid id="addressDialogPanel" columns="2" cellpadding="4"> 
    </h:panelGrid> 
</p:dialog> 

</h:form> 
+0

에서 예를 들어, JSF의 기초를 배울 읽어야합니다. 이제는 ""tabView : form : addressBookTable ""오류에서 참조 된 식별자 "tabView : form : addressDialogPanel"을 가진 구성 요소를 찾을 수 없습니다. p : tabview도 양식입니까? –

+0

@ ÖmerFarukAlmalı 당신의 답은 저에게 맞지 않습니다. 문제가 될 수 있습니까? –

+0

그럼 왜 나 한테 그걸 안 돌려주지 않았 니? 당신이 당신의 문제를 기꺼이 해결하고자한다면, 당신은 완전히 올바른 답의 필요한 단계들을 따라야합니다. 3 일 늦은 "일하지 않는"의견은 비합리적인 행위입니다. –

답변

0

주요 문제는 구성 요소의 잘못된 클라이언트 ID를 제공하고 있다는 것입니다. 또한 p:tabView은 양식이 아닌 구성 요소입니다. h:form을 정의하면 독립형 HTML 양식 요소가 생성됩니다. 그리고 JSF는 POST를 사용하여 데이터를 백업 빈으로 제출합니다. 이렇게 중첩하면 예상치 못한 많은 문제가 발생할 것입니다. 양식을 sideForm이나 searchForm 등과 같은 섹션으로 구분해야합니다.

업데이트하려고하면 구성 요소의 올바른 클라이언트 ID를 감지해야합니다. 브라우저의 개발자 설정 (크롬의 경우 f12 키)으로이 작업을 수행 할 수 있습니다. 그런 다음 돋보기 단추가있는 구성 요소를 선택하고 ID를 update 속성에 입력합니다. 그냥 여기처럼 :

enter image description here

당신은 내가 패널에 contentForm (양식) 변경 ÖmerFarukAlmalı @here

관련 문제