2014-07-14 2 views
0

나는 버튼의는 "Button1을"를 호출 할 수 있습니다ONSTART 방법의 onComplete 방법 후에이라고

<p:commandButton icon="ui-icon-document" 
    value="Button1" 
    onstart="#{bean.populateDependancies(item)}" 
    update="myDialog" 
    oncomplete="dialogWidget.show();"> 
</p:commandButton> 

Button1dialog를 열 예정이다,하지만 개방을 전에 나는 그것이 목표를 채우려 primefaces picklist 일부 값을 가진 대화 상자 (이 작업은 populateDependancies(item) 메서드로 수행됩니다). (: Button1 편집 가능한 데이터 테이블의 컬럼에 위치 NB)가

그러나 실제로 방법 populateDependancies(item)가 나는 대화을 닫습니다 때 호출되는 및 는 primefaces의 cellEditor (또는 심지어 취소 버튼)의 validateEdition 버튼을 충돌 . enter image description here

을 여기에 나의 방법이다 : 나는이 문제를 명확하게 설명하겠습니다

... 뭔가 분명하지 않은 경우 다음


내 페이지 구조는 어쩌면 도움이 될 수있다 알려 주시기 바랍니다 :

public void populateDependancies(Release release) { 
    if (release != null) { 
     if (rfcsDualListModel.getTarget() != null || !rfcsDualListModel.getTarget().isEmpty()) { 
      rfcsDualListModel.setTarget(null); 
     } 
     List<Rfc> rfcDejaAssocies = release.getRfcs(); 
     rfcsDualListModel.setTarget(rfcDejaAssocies); 
    } 
} 
+0

"onstart"대신 "tryListener"를 시도하십시오 –

+0

이미 시도했는데 버튼이 메서드를 전혀 호출하지 않습니다 – Siho

답변

1

onstart 그냥 oncomplete처럼, 자바 스크립트 코드를 실행합니다. #{bean.populateDependancies(item)}action 또는 actionListener 속성이어야합니다.

편집 : 또한 전체 양식을 제출하지 않으려면 process="@this" 속성과 값을 사용해야합니다.

+0

onStart 대신 action 및 actionListener를 이미 시도했지만 아무도 작동하지 않았습니다. 그들은 그 방법을 부르지 않는다. 메서드 시그니처를 확인하고 괜찮 았기 때문에 매우 이상합니다. – Siho

+0

'Button1' 전체 양식의 코드를 중첩시킬 수 있습니까? –

+0

모든 코드를 붙여 넣으면 수백 줄이됩니다 ... – Siho

0

문제 actionListener 및 해당 명령의 process="@this" 속성을 사용하여 해결 ..하지만 process="@this"을 추가하여에서만 작동 이유를 솔직히 누군가가 이유를 알고 있다면 .. 알려 주시기 바랍니다 .. 모르겠어요. 모두에게 감사드립니다.

+0

다음 번에 [MCVE] (http://stackoverflow.com/help/mcve)를 게시하면 더 빨리 도움을받을 수 있습니다. 또한 [jsf info page] (http://stackoverflow.com/tags/jsf/info)를 참조하십시오. – perissf

+0

감사합니다. @perissf하지만 게시 한 코드가 문제를 설명하기에 충분하다고 생각했습니다. 그렇지 않니? – Siho

+0

기본값은 @form이므로 매우 이상하게 들립니다. 다시 삭제 해보십시오. –