我试图让一个对象中的所有字段按字母顺序排列。我已经尝试使用apex资源管理器来获取字段,尽管大多数字段都是按顺序出现的,但很少有字段没有以正确的顺序出现。
以特定顺序获取字段名称可能不会影响代码的工作,但作为我们项目中使用的标准的一部分,我们希望我们按字母顺序使用它们。
由于 Prady
答案 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)
这可以通过进入该字段然后单击“重新排序”并选中“按字母顺序排序值,而不是按输入的顺序排序值”复选框来完成。值将按字母顺序显示在任何地方。