我在saleforce和visualforce电子邮件模板中有一个自定义对象,它使用票证自定义对象,如下所示
<apex:repeat var="cx" value="{!relatedTo.E_Ticket_s__r}">
<tr>
<td>
<apex:outputText value="{!cx.Airline__c}" escape="false" />
</td>
</tr>
</apex:repeat>它工作得很好,但我需要按他们创建的顺序打印记录。假设我创建了第一个航空公司,卡南达航空公司,印度航空公司,那么英国航空公司和订单将是航空公司,加拿大航空公司,印度航空公司,英国航空公司。
但在我收到的电子邮件中,没有按排序顺序排列,如何在email.As中对记录和显示进行排序,我了解到custome对象有一个标准字段属性名“E-票证#名称”,它是自动编号的。
任何帮助都是非常感谢的。谢谢!
发布于 2012-05-11 15:02:35
如果将票证放入控制器中的集合变量中,则可以使用order在SOQL查询中对它们进行排序。你的顶点:重复会根据收藏的顺序显示它们。
<apex:repeat var="cx" value="{!tickets}">
<tr>
<td>
<apex:outputText value="{!cx.Airline__c}" escape="false" />
</td>
</tr>
</apex:repeat>
// within the controller
public List<E_Ticket_s__c> tickets() {
List<E_Ticket_s__c> results = new List<E_Ticket_s__c>([
SELECT Id, Airline__r.CreatedDate, Airline__c
FROM E_Ticket_s__c
ORDER BY Airline__r.CreatedDate
]);
return results;
}唯一的问题是,没有允许对sObjects列表进行排序的List方法,因此,如果需要在SOQL之外进行排序,则需要“滚动自己的列表”。
https://stackoverflow.com/questions/10545466
复制相似问题