How do i get a list of fields in alphabetical orde

2019-07-25 08:17发布

I am trying to get all the fields in an object to comeup in a alphabetical order. i have tried using apex explorer to get the fields, though most of the fields come up in an order, there are few fields which do not come up in the right order.

Getting the field names in a particular order might not affect the code working, but as a part of standards used in our project, it is expected that we use them in alphabetical order.

Thanks Prady

4条回答
爱情/是我丢掉的垃圾
2楼-- · 2019-07-25 08:35

This recipe will work:

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

I haven't tested this but it looks accurate.

查看更多
Bombasti
3楼-- · 2019-07-25 08:36

You cannot rearrange fields in the output, their query parser just uses SOQL field list to filter its own master list of fields and you get response in whatever order their master list is.

I must admit though that this is the first time I hear of such coding standard, neither do I see any benefit from it... Just my 2 cents.

查看更多
时光不老,我们不散
4楼-- · 2019-07-25 08:37

This can be done by going into the field then click 'reorder' and tick the checkbox for "Sort values alphabetically, not in the order entered. Values will be displayed alphabetically everywhere."

查看更多
ら.Afraid
5楼-- · 2019-07-25 08:43

Why don't you just sort them yourself? List has a sort method, just pass in the list of string of your fields. See the method details here

查看更多
登录 后发表回答