Как получить список полей в алфавитном порядке в SF - PullRequest
1 голос
/ 20 февраля 2012

Я пытаюсь получить все поля объекта в алфавитном порядке. Я пытался использовать Apex Explorer, чтобы получить поля, хотя большинство полей расположены в порядке, есть несколько полей, которые не отображаются в правильном порядке.

Получение имен полей в определенном порядке может не повлиять на работу кода, но ожидается, что мы используем их в алфавитном порядке как часть стандартов, используемых в нашем проекте.

Спасибо Пради

Ответы [ 4 ]

1 голос
/ 20 февраля 2012

Вы не можете переупорядочить поля в выводе, их анализатор запросов просто использует список полей SOQL для фильтрации своего собственного основного списка полей, и вы получаете ответ в любом порядке, в котором находится их основной список.

Я должен признать, что впервые слышу о таком стандарте кодирования, и при этом я не вижу никакой выгоды от него ... Только мои 2 цента.

0 голосов
/ 30 июля 2013

Это можно сделать, зайдя в поле, затем щелкните «изменить порядок» и установите флажок «Сортировать значения по алфавиту, а не в указанном порядке. Значения будут отображаться в алфавитном порядке везде».

0 голосов
/ 23 февраля 2012

Этот рецепт будет работать:

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 голосов
/ 21 февраля 2012

Почему бы вам не отсортировать их самостоятельно? В списке есть метод сортировки, просто передайте в списке строку из ваших полей. Подробнее см. Метод здесь

...