0

以下のように、チケットカスタムオブジェクトを使用するsaleforceおよびvisualforceメールテンプレートにカスタムオブジェクトチケットが1つあります

  <apex:repeat var="cx" value="{!relatedTo.E_Ticket_s__r}">
 <tr>
 <td>
  <apex:outputText value="{!cx.Airline__c}" escape="false" /> 
 </td>
 </tr>
 </apex:repeat>

それはうまくいきますが、作成した順序で記録を印刷する必要があります。最初にエア カナダ、次にエア インディア、次にブリティッシュ エアウェイズを作成し、順番はエア カナダ エア インディア ブリティッシュ エアウェイズになるとします。

しかし、電子メールでは、レコードを並べ替えて電子メールで表示する方法をソート順で受け取っていませんでした.customeオブジェクトには、自動番号である標準フィールドプロパティ名「E-Ticket # Name」が1つあることがわかりました。

どんな助けでも大歓迎です。ありがとう!

4

1 に答える 1

1

コントローラ内のコレクション変数にチケットを配置すると、order byを使用して SOQL クエリで並べ替えることができます。apex :repeatは、コレクションの順序に従ってそれらを表示します。

<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;
}

唯一の問題は、sObject のリストを並べ替えることができる List メソッドがないことです。そのため、SOQL の外部で並べ替える必要がある場合は、「自分で作成する」必要があります。

于 2012-05-11T15:02:35.343 に答える