2012-05-12 1 views
0

사용자가 페이지에서 값 (텍스트 상자/LOV)을 변경하고 탭을 닫을 때 사용자 지정 팝업 경고 메시지 표시/취소 실수로 버튼을 누르십시오. 내가 시도페이지에서 사용자가 값 (텍스트 상자/LOV)을 변경할 때 사용자 지정 팝업 경고 메시지 표시

옵션은 다음과 같습니다

는) 응용 프로그램 내에서 우리는/RegionModel을위한 7 가지 시나리오의 복잡한 작업 흐름을 사용하고 있습니다. 또한 요구 사항은 사용자 정의 메시지를 표시하는 것입니다 - 따라서 나는 시도

http://www.oracle.com/technetwork/developer-tools/adf/unsaveddatawarning-100139.html

b)는 두 번째 옵션은 사용자 정의 지역 컨트롤러를 가지고 있었다 "unsaveddatawarning"접근 방식을 사용할 수 있습니다 : CustomRegionController은 (RegionContext를 RegionController

내부 validateRegion를 구현 페이지 데이터가 더러운 경우 regionContext)를 찾을 생각

 AdfFacesContext.getCurrentInstance().getDirtyPageHandler().isDataDirty(); 

또는

DCBindingContainer dcBindings = (DCBindingContainer)BindingContext.getCurrent().getCurrentBindingsEntry(); 
    DCDataControl cDataControl = dcBindings.getDataControl(); 
    boolean dirtyFlag = cDataControl.isTransactionModified(); 

두 시나리오 모두 항상 true입니다 (페이지로드시 데이터가 렌더링 될 때 VO/View Link 응용 프로그램 모듈의 공통 세트로 인해 항상 더러워집니다).

마지막 옵션은 각 요소 (textbaox, LOV, 확인란)에 대해 valueChangeListener를 호출하는 것입니다. 나는이 옵션을 전혀 좋아하지 않는다. 이 시나리오를 처리하는 더 좋은 방법이 있을지 제안하십시오.

답변

0

왜 값 변경 수신기를 사용합니까? 각 입력 구성 요소가 Backing Bean에서 동일한 VCL 메소드를 호출하도록합니다. 필요한 경우 vcl 이벤트 객체에서 구성 요소 ID를 가져올 수 있습니다.

관련 문제