Come si può fornire un collegamento a un record dalla pagina visualforce utilizzando outputlink
-
27-10-2019 - |
Domanda
Qualcuno potrebbe aiutarmi a fornire il collegamento in questo scenario
<apex:repeat var="slot" value="{!liTimeSlots}">
<tr class="{!IF(ISNULL(slot.sAppointment), 'Free', 'Fill')}">
<td ><apex:outputText value="{!slot.tstart1}"/></td>
<td><apex:outputText value="{!IF(ISNULL(slot.sAppointment), 'Free', slot.sAppointment.name)}"/></td>
<td><apex:outputText value="{!IF(ISNULL(slot.sAppointment), '', slot.sAppointment.Appointment_Type__c)}"/></td>
<td><apex:outputText value="{!IF(ISNULL(slot.sAppointment), '', slot.sAppointment.Patient__c)}"/></td>
</tr>
<tr >
<td></td>
<td><apex:outputText value="{!IF(ISNULL(slot.sAppointmentOverlap), ' ', slot.sAppointmentOverlap.name)}"/></td>
<td><apex:outputText value="{!IF(ISNULL(slot.sAppointmentOverlap), '', slot.sAppointmentOverlap.Appointment_Type__c)}"/></td>
<td><apex:outputText value="{!IF(ISNULL(slot.sAppointmentOverlap), '', slot.sAppointmentOverlap.Patient__c)}"/></td>
</tr>
</apex:repeat>
Voglio mostrare il collegamento solo se slot.sAppointment o slot.sAppointmentOverlap non è nullo.
Qualche idea su come affrontare questo problema.
Grazie
Prady
Soluzione
Come quasi tutti i tag apex:
Visualforce, apex:outputLink
ha un attributo rendered
che può essere utilizzato per mostrarlo o nasconderlo, e questo può utilizzare un campo / formula di unione per il valore, quindi cercherai qualcosa insiemele righe di:
<apex:outputLink value="url" rendered="{!NOT(ISNULL(slot.sAppointment)) || NOT(ISNULL(slow.AppointmentOverlap))}">The link</a>
Un altro trucco che utilizzo per il rendering condizionale per un gruppo di elementi di markup è racchiuderli in un tag apex:variable
:
<apex:variable var="v" value="" rendered="{!ShouldThisRender}">
<!-- Some page elements -->
</apex:outputVariable>
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow