Come disattivare singolo pulsante radio a pagina JSFX?
-
19-09-2019 - |
Domanda
Ho un cliente che ha creato un 1.1 applicazioni Oracle ADF / JSF. Su una delle pagine hanno un tavolo con prima colonna come un attivare pulsanti reciprocamente esclusivi. Ho dovuto migliorare la pagina e aggiungere la riga totale, con disattivato pulsante di scelta. Come è possibile disattivare in classe Bean o sulla pagina senza l'utilizzo di JavaScript? Ho cercato di fare qualcosa di simile:
<af:tableSelectOne id="slctone" disabled="true"/>
ma che disabilita tutti i pulsanti. Ho cercato di mettere il codice come quella qui sotto, ma che disabilita il link alla pagina successiva sulla seconda colonna:
TcpiVO t= (TcpiVO) JSFUtils.getManagedBeanValue("row");
if(t.getLabel().contains("TOTALS")){
return false;
}
Ecco il frammento di codice:
<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>
Soluzione
ho dovuto migliorare la pagina e aggiungere la riga totale, con disattivato pulsante di scelta. Come è possibile disattivare in classe Bean o sulla pagina senza l'utilizzo di JavaScript?
Basta fare uso di EL nell'attributo disabled
:
disabled="#{we are in the last row}"
Ciò dovrebbe restituire true
quando la condizione di cui è soddisfatta.
In alternativa è possibile fare uso di un piè di pagina all'interno del componente tabella:
<f:facet name="footer">
...
</f:facet>
Questo genererà un <tfoot>
in cui è possibile inserire una riga indipendente che non quindi essere influenzata da altre righe né viceversa.