¿Cómo se puede proporcionar un enlace a un registro desde la página de visualforce usando outputlink
-
27-10-2019 - |
Pregunta
¿Alguien podría ayudarme a proporcionar un enlace en esta situación?
<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>
Quiero mostrar el enlace solo si slot.sAppointment o slot.sAppointmentOverlap no son nulos.
Alguna idea de cómo abordar esto.
Gracias
Prady
Solución
Como casi todas las etiquetas de Visualforce apex:
, apex:outputLink
tiene un atributo rendered
que se puede usar para mostrar u ocultar, y esto puede usar un campo / fórmula de combinación para el valor, por lo que estará buscando algo a lo largolas líneas de:
<apex:outputLink value="url" rendered="{!NOT(ISNULL(slot.sAppointment)) || NOT(ISNULL(slow.AppointmentOverlap))}">The link</a>
Otro truco que utilizo para la representación condicional de un grupo de elementos de marcado es envolverlos en una etiqueta apex:variable
:
<apex:variable var="v" value="" rendered="{!ShouldThisRender}">
<!-- Some page elements -->
</apex:outputVariable>
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow