在APEX中如何获取 Picklist 的Label Value 而不是 API Value

在APEX中如何获取 Picklist 的Label Value 而不是 API Value

当我们在 Apex 中查询对象上的picklist字段时,我们总是会获取它的 API 值,但是如果您想要选项的Label,那么可以使用 ‘toLabel’。
假设我们在“Contact”对象上有一个名为“Status__c”的自定义字段,那么下面的查询将为您提供所需的值

Contact con = [SELECT Id, toLabel(Status__c) FROM Contact WHERE Id =1234567890];
System.debug(Label value of picklist>>+ con.Status__c);

注意!!如果在 APEX trigger中获取label,那么这将不起作用,仍将获得选项的 API 值,需要使用相同的模式描述。可以参照下面的代码片段。

Contact con = [SELECT Id, Status__c FROM Contact WHERE Id =1234567890];
//To get picklist entries
List<Schema.PicklistEntry> values = Contact. Status__c.getDescribe().getPicklistValues();
Map<String,String> statusApiToLabelMap = new Map<String,String>();
For(Schema.PicklistEntry sp : values){
    //Map to hold Picklist API as Key and Picklist Label as Value
    statusApiToLabelMap.put(sp. getValue(), sp. values.getLabel());
}
System.debug(Label value of picklist>>+ statusApiToLabelMap .get(con.Status__c));

PicklistEntry 的方法:
  • values.getValue()
  • values.getLabel()
  • values.isActive()
  • values.isDefaultValue()
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值