JSFX 페이지에서 단일 라디오 버튼을 비활성화하는 방법은 무엇입니까?
-
19-09-2019 - |
문제
Oracle ADF/JSF 1.1 응용 프로그램을 만든 고객이 있습니다. 페이지 중 하나에는 활성화 된 상호 배타적 라디오 버튼으로 첫 열이있는 테이블이 있습니다. 페이지를 향상시키고 비활성화 된 라디오 버튼으로 총 라인을 추가해야했습니다. JavaScript를 사용하지 않고 Bean 클래스 또는 페이지에서 어떻게 비활성화 할 수 있습니까? 나는 다음과 같은 일을하려고 노력했습니다.
<af:tableSelectOne id="slctone" disabled="true"/>
그러나 모든 버튼을 비활성화합니다. 아래 코드를 아래에 넣으려고했지만 두 번째 열의 다음 페이지 링크를 비활성화합니다.
TcpiVO t= (TcpiVO) JSFUtils.getManagedBeanValue("row");
if(t.getLabel().contains("TOTALS")){
return false;
}
코드 스 니펫은 다음과 같습니다.
<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>
해결책
페이지를 향상시키고 비활성화 된 라디오 버튼으로 총 라인을 추가해야했습니다. JavaScript를 사용하지 않고 Bean 클래스 또는 페이지에서 어떻게 비활성화 할 수 있습니까?
el을 사용하십시오 disabled
기인하다:
disabled="#{we are in the last row}"
이것은 돌아와야합니다 true
언급 된 조건이 충족되면.
또는 테이블 구성 요소 내부의 바닥 글을 사용할 수 있습니다.
<f:facet name="footer">
...
</f:facet>
이것은 a를 생성합니다 <tfoot>
따라서 다른 행의 영향을받지 않는 독립 행을 배치하거나 그 반대도 마찬가지입니다.
제휴하지 않습니다 StackOverflow