如何在SF中按字母顺序获取字段列表

时间:2012-02-20 07:53:18

标签: salesforce apex-code

我试图让一个对象中的所有字段按字母顺序排列。我已经尝试使用apex资源管理器来获取字段,尽管大多数字段都是按顺序出现的,但很少有字段没有以正确的顺序出现。

以特定顺序获取字段名称可能不会影响代码的工作,但作为我们项目中使用的标准的一部分,我们希望我们按字母顺序使用它们。

由于 Prady

4 个答案:

答案 0 :(得分:1)

您不能重新排列输出中的字段,它们的查询解析器只使用SOQL字段列表来过滤其自己的主字段列表,您可以按主列表的顺序获得响应。

我必须承认,这是我第一次听到这样的编码标准,我也没有看到任何好处......只是我的2美分。

答案 1 :(得分:0)

为什么不亲自对它们进行分类? List有一个sort方法,只需传入你的字段的字符串列表。请参阅方法详细信息here

答案 2 :(得分: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));
}

我没有对此进行测试,但看起来很准确。

答案 3 :(得分:0)

这可以通过进入该字段然后单击“重新排序”并选中“按字母顺序排序值,而不是按输入的顺序排序值”复选框来完成。值将按字母顺序显示在任何地方。