2014-04-17 4 views
0

내 방법에 대한 질문이 있습니다. JDeveloper 12c를 사용하고 있습니다. 그것은 체크 박스를 기반으로열에 하나의 값만 설정하는 방법

public void activeYear() { 
    this.getCurrentRow().setAttribute("Active", 1); 
} 

: 나는 코드가 여기에있다 activeYear라는 메소드를 가지고있다. 내 응용 프로그램에서는 다음과 같이 작동합니다.이 메서드를 사용하는 버튼이 있습니다. 그것을 누르면, 현재 행은 그의 체크 박스 값을 "Active"로 변경합니다.

요점은 : 단 하나의 행만 활성 상태 여야하고 즉시 버튼을 누르면 다른 것들은 모두 선택 해제되어야합니다. 이 코드를 어떻게 바꿀 수 있습니까? 아니면 mby 하나 더 메서드를 추가해야합니까?

솔루션 :

코드는 여기에 내가 비활성화라는 방법을 추가 activeYear 내 방법에

:

public void deactive() { 
    RowSetIterator rowSetIterator = this.createRowSetIterator("New"); 
    if (rowSetIterator != null) { 
     rowSetIterator.reset(); 
     while (rowSetIterator.hasNext()) { 
      Row currentRow = rowSetIterator.next(); 
      currentRow.setAttribute("Active", 0); 
     } 
     rowSetIterator.closeRowSetIterator(); 
    } 
} 

감사합니다, WK activeYear의 설정 방법에 모델 층에서

+1

모든 행을 모두 '0'으로 설정하고 currnt 행을 '1'로 설정하십시오. – maxx777

+0

쓴 것을 잊어 버렸습니다. - oracle jdeveloper12c를 사용하고 있습니다. Max777님께 - 어떤 코드라도 넣을 수 있습니까? 나는 정말로 감사 할 것이다. –

답변

1

먼저 현재 행이 1 인 행을 찾아서 0으로 설정하고 현재 행을 1로 설정하십시오.

+0

@Shay_Shmeltzer - 내 activeYear는 일시적인 속성으로 내 VO에만 있습니다. 어떤 Java 코드가 한 속성의 모든 행을 가져 와서 값을 0으로 설정할 수 있습니까? –

0

값을로 설정해야합니다

1 각 행에 대해 다음 Transient view object에 대한 iterator을 만들고 : 0 모든 행행 다음이 단계를 수행 할 필요가 그렇게하기 위해 1

에 현재 행을 설정 iterator 세트 Active ~ 0. 그런 다음

AppModuleImpl appModule = (AppModuleImpl)(JSFUtils.getApplicationModule("YourApplicationModuleName")); 
ViewObject transentViewObj = appModule.findViewObject("YourTransentViewObjectName"); 
RowSetIterator transentViewItr = transentViewObj.createRowSetIterator(null); 

while (transentViewItr.hasNext()) 
{ 
    transentViewItr.next().setAttribute("Active", 0); 
} 

2, 당신의 현재의 행을 필요 1

DCBindingContainer bindings = (DCBindingContainer)getBindings(); 
DCIteratorBinding iteratorBinding = bindings.findIteratorBinding("IteratoerName"); 
iteratorBinding.getCurrentRow().setAttribute("Active", 1); 

주에 Active 속성을 설정 : 당신이 IteratoerName 다음과 같은 찾을 수 있습니다 페이지 -로 이동 >bindings 탭을 클릭 - Executable 열에 iterator을 찾을 수 있습니다. view object

+0

이미 고정되어 있지만, 나는 당신과 매우 비슷한 해결책을 가졌지 만, deactive라는 코드를 작성했습니다. –