2012-02-20 8 views
1

オブジェクト内のすべてのフィールドをアルファベット順に表示しようとしています。私はフィールドを取得するために頂点エクスプローラを使用しようとしましたが、ほとんどのフィールドが順番に表示されますが、正しい順序で表示されないフィールドはほとんどありません。アルファベット順にフィールドのリストを取得するにはどうすればいいですか?SF

特定の順序でフィールド名を取得しても、動作するコードには影響しないかもしれませんが、プロジェクトで使用されている標準の一部としてアルファベット順に使用することが期待されます。

おかげ Prady

答えて

0

を参照してください:

List<Contact> contacts = [SELECT Name, Id FROM Contact ORDER BY Id LIMIT 10]; // We'll reorder by Name later 
Map<String, Contact> contactMap = new Map<String, Contact>(); // Reversed for sorting 
List<String> sortThis = new List<String>(); 

for(Contact c : contacts) 
{ 
    contactMap.put(c.Name, c); // For simplicity in this example, we assume the name is unique 
    sortThis.add(c.Name); 
} 

sortThis.sort(); // Sort by Name in this case  
List<Contact> nameSortedContacts = new List<Contact>(); 

for(String s : sortThis) 
{ 
    nameSortedContacts.add(contactMap.get(s)); 
} 

私はこれをテストしていませんが、それは正確に見えます。

+0

私が気づいたときに私がなぜ否定的な印を受け取ったのか疑問に思って、私は質問自体の上に目標を逃した!私はメタデータのフィールドを順序付けするのではなく、列で結果を並べることを考えていました。ただし、レシピは説明情報でも機能します。 – Adam

1

あなたはそれらのクエリパーサはフィールドだけの独自のマスターリストをフィルタリングするSOQLフィールドリストを使用して、あなたはどのような順序で自分のマスターリストを応答を取得され、出力のフィールドを並べ替えることができません。

これは私がそのようなコーディング基準を聞いた最初のことであるに違いないが、私はそれから何らかの恩恵を受けていないことを認めなければならない。ちょうど私の2セント。

+0

私はそのようなことは何もしていないことを認めなければなりません。新しいチーム、新しい標準 – Prady

0

自分で並べ替えてみませんか?リストにはソートメソッドがあり、フィールドの文字列のリストを渡すだけです。このレシピが動作する方法の詳細にhere

+0

出力のフィールドをどのように並べ替えますか? – mmix

+1

あなたの出力は?ビジュアルフォース? – manubkk

0

これはフィールドに移動し、「並べ替え」をクリックし、「アルファベット順のアルファベット順の値を入力順ではなく並べ替え」のチェックボックスをオンにすると実行できます。値はすべてのアルファベット順に表示されます。

関連する問題