2009-12-11 6 views
0

Oracle ADF/JSF 1.1 애플리케이션을 작성한 고객이 있습니다. 페이지 중 하나에서 상호 배타적 인 단일 선택 단추로 첫 번째 열이있는 테이블이 있습니다. 페이지를 향상시키고 사용 중지 된 라디오 버튼이있는 전체 라인을 추가해야했습니다. JavaScript를 사용하지 않고 Bean 클래스 또는 페이지에서 어떻게 비활성화 할 수 있습니까? 나는 다음과 같이하려고 시도했다.JSFX 페이지에서 단일 라디오 버튼을 비활성화하는 방법은 무엇입니까?

<af:tableSelectOne id="slctone" disabled="true"/> 

그러나 모든 버튼을 비활성화시킨다. 나는 아래와 같은 코드를 넣어 시도했습니다,하지만 두 번째 열에서 다음 페이지로의 링크를 비활성화합니다

<f:facet name="selection"> 
     <af:tableSelectOne id="slctone" /> 
    </f:facet> 

    <af:column sortable="false" headerText="#{tcWizard.partsHeaderLabel}" width="325" > 

     <af:commandLink text="#{row.label}" action="#{tcWizard.retrieveDrillDownList}" actionListener="#{tcWizard.nextDrillDownElement}" 
         rendered="#{tcWizard.continueDrill }" id="drlLnk" /> 
     <af:outputText value="#{row.label}" rendered="#{!tcWizard.continueDrill }" /> 

    </af:column> 
    <af:column sortable="false" headerText="#{msg.SALES}" styleClass="bordersBottomGrey" width="80"> 
     <af:outputText value="#{row.sales}"/> 
    </af:column> 

답변

1

I :

TcpiVO t= (TcpiVO) JSFUtils.getManagedBeanValue("row"); 
if(t.getLabel().contains("TOTALS")){ 
    return false; 
} 

여기에 코드입니다 페이지를 향상시키고 비활성화 된 라디오 버튼이있는 전체 라인을 추가해야했습니다. JavaScript를 사용하지 않고 Bean 클래스 또는 페이지에서 어떻게 비활성화 할 수 있습니까?

그냥 disabled 속성에 EL을 사용합니다 언급 한 조건이 충족 될 때

disabled="#{we are in the last row}" 

true를 반환해야합니다.

<f:facet name="footer"> 
    ... 
</f:facet> 

이 당신이 이렇게 반대의 경우도 마찬가지 다른 행에 의해 영향도되지 않을 것이다 독립적 인 행을 배치 할 수 있습니다 것을 특징으로 <tfoot>을 생성합니다

또는 당신은 테이블 구성 요소 내부 바닥 글을 사용할 수있다.

+0

당신은 내 영웅입니다! 고맙습니다. –

+0

반갑습니다. – BalusC