如何在JSFX页面上禁用单个单选按钮?

时间:2009-12-11 13:53:16

标签: oracle jsp jsf jsp-tags oracle-adf

我有一位客户创建了一个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>

1 个答案:

答案 0 :(得分:1)

  

我必须增强页面并添加带有禁用单选按钮的总行。如何在不使用JavaScript的情况下在Bean类或页面上禁用它?

只需在disabled属性中使用EL:

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

当满足上述条件时,这应返回true

或者,您可以在表格组件中使用页脚:

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

这将生成<tfoot>,其中您可以放置​​一个独立的行,因此不受其他行的影响,反之亦然。