2013-04-22 2 views
0

진행 표시 줄이 완료된 후 JavaScipt 기능을 실행하려고합니다.진행 표시 줄이 완료된 후 데이터 테이블 업데이트

<p:ajax event="complete" oncomplete="refreshTable();"/> 

가 나는 또한 아래의 코드처럼 백킹 빈을 통해 진행 막대 구성 요소를 추가하려고 :

ProgressBar progressBar = new ProgressBar(); 
progressBar.setAjax(true); 
AjaxBehavior ajaxAction = new AjaxBehavior(); 
ajaxAction.setOncomplete("refreshTable();"); 
progressBar.addClientBehavior("complete", ajaxAction); 

하지만 궁극적으로 어떤 JS 기능 GET의했다. 나는 둥지에 다음 태그를 시도

이 기능을 어떻게 수행 할 수 있습니까?

기술 사용 : PrimeFaces 3.5, Mojarra 2.1.6 (SNAPSHOT 20111206), PrimeFaces Extensions 0.6.3, GlassFish 3.1.2.2.

답변

0

업데이트 속성을 사용해야합니다. 당신의 데이터 테이블 ID가 "myDataTable"ID가 =의 경우, 당신은 사용해야합니다 PrimeFaces 명확하게 명시 전시

<p:progressBar ajax="true" value="#{progressBean.progress}"> 
    <p:ajax event="complete" listener="#{...}" update="myDataTable"/> 
</p:progressBar> 
+0

: 구성 요소 아약스 행동의 프로그램 추가에 관한


, 당신의 <p:ajax event="complete" update="table-id" oncomplete="refreshTable()"/> 프로그래밍에 해당해야 하는가? – grr

+0

List가 채워지는지 디버그하고 확인해야합니다. –

0

, 당신은 그 안에 중첩 <p:ajax> 태그로 <p:progressBar>을 사용해야합니다. 당신은 데이터 테이블을 다시 쓰게 선호 할 그

<p:progressBar ajax="true" value="#{bean.progressVar}"> 
    <p:ajax event="complete" update="..." oncomplete="..."/> 
</p:progressBar> 

참고 :이 구성 요소 식별자가 같은 코드에서 줄임표를 대체하여, update 속성oncomplete 속성의 <p:ajax>클라이언트 측 콜백에서 다시 렌더링 할 수 지정 oncomplete 속성을 지정하여 클라이언트에서 수동으로 작업을 수행하는 대신 update 속성을 지정하여 JSF를 사용하십시오. 후자는 일반적으로 구성 요소 표시/숨기기, 스타일 클래스 전환, 대화 상자 열기 등과 같은 일부 클라이언트 측 GUI 변경을 트리거하는 데 사용되지만 서버 측 기능에 속하는 작업은 수행하지 않습니다. 당신이 프로그래밍 어떻게해야합니까

AjaxBehavior ab = new AjaxBehavior(); 
ab.setUpdate("table-id"); 
ab.setOncomplete("refreshTable()"); 
component.addClientBehavior("complete", ab); 
+0

progressbar가 런타임에 생성되므로 progressabar가 생성 된 내 backbrowser에서 프로그래밍 방식으로 수행하는 방법 – grr

+0

콘솔 메시지를 게시하고 추적 할 수있는 기능이없는 경우 어떻게해야합니까? 그게 효과가없는 지점. – skuntsel

+0

오류는 없지만 테이블이 업데이트되지 않습니다. 무엇을 제안합니까? – grr

관련 문제