SFDC 利用Schema.Describe来取得Picklist所有的选项
Salesforce的开发语言Apex与Java极为类似。也有封装,基础,多态特性。
并且也能 反射,Object的属性和Field属性。
今天主要记录的是一个需求:Visualforce Page或者LWC时,如何显示来自Object的 Picklist 值。
我们不可能直接在页面上写死所有的Option,Value这样显然不好维护,并且如果一个Picklist有100个选项,这写起来就是个噩梦。(CTRL C CTRL V一下午。)
在查询了资料后,发现官方Developer Guide里有个 Dynamic Apex Describe Information。
我看了以后,直呼 这不就是 Java的反射机制嘛,给我一个类名我就能通过反射能取到这个类的所有方法和属性。
现在就试试看。
Schema.DescribeFieldResult fieldResult = AcctReceivableMgtData__c.RedBlackDivision__c.getDescribe();
system.debug('fieldResult:'+fieldResult);
List<Schema.PicklistEntry> ple = fieldResult.getPicklistValues();
for(Schema.PicklistEntry p : ple){
system.debug(p.getLabel()+':'+p.getValue());
}
输出结果
假设我们有一个自定义对象叫做 officellocation _ c. officellocation _ c,它包含了许多字段,其中一个字段是一个名为 Country _ c 的国家值列表。我们的客户需求是在 Visualforce 页面上包含使用定制控制器的国家的 picklist。在控制器中,我们需要做的第一件事是使用 getDescribe ()方法获取 Country _ c 字段的信息:
SFDC 利用Schema.Describe来取得Picklist所有的选项的更多相关文章
- Salesforce Apex学习 : 利用Schema命名空间中的DescribeSObjectResult类型来获取sObject对象的基本信息
DescribeSObjectResult 对象的取得: //使用getDescribe方法和sObject token Schema.DescribeSObjectResult mySObjDesc ...
- C#与XML Schema的问题
http://bbs.csdn.net/topics/50493564 weileily: 用XmlSchema.Read方法读取了一个xsd文件,请问如何遍历检索器中的ComplexType与Sim ...
- schema for clojure
Schema for Clojure Data Shape Declaration and Validation 1.何为schema schema是描写叙述数据形式的一种clojure数据结构,可用 ...
- 无废话XML--XML约束(schema)
Schema 的由来 DTD 作为 XML 1.0 规范的重要组成部分, 对于 XML 文档的结构起到很好的描述作用. 但是,它也具有一些缺点,比如,它采用了非 XML 的语法规则.不支持数据类型. ...
- 利用Android的UXSS漏洞完成一次XSS攻击
黑客攻击的方式思路是先搜集信息,定位漏洞,然后针对不同的漏洞采用不同的方式来黑掉你.下面用metasploit模拟一次跨站脚本攻击(黑掉自己的手机). 1.搜集信息 msf > search a ...
- 4,SFDC 管理员篇 - 数据模型 - 基本对象
Setup | Customize | Object Name | Filed 1, 标准字段定义 standard field:系统字段,不能删除,但是能在页面中remove non-requi ...
- Selenium 验证picklist是可被正确选中且是有序的(动态数组赋值)
原代码: <select id="edit-submitted-im-interesting-in" class="form-select required&quo ...
- ORACLE PL/SQL编程详解
ORACLE PL/SQL编程详解 编程详解 SQL语言只是访问.操作数据库的语言,并不是一种具有流程控制的程序设计语言,而只有程序设计语言才能用于应用软件的开发.PL /SQL是一种高级数据库程序设 ...
- ORACLE PL/SQL编程详解(转)
原帖地址:http://blog.csdn.net/chenjinping123/article/details/8737604 ORACLE PL/SQL编程详解 SQL语言只是访问.操作数据库的语 ...
随机推荐
- 微软官方 free 教程 & 教材 ,MVC ,ASP.NET,.NET,
MVA https://mva.microsoft.com/ebooks free ebooks 微软官方, free, 教程 ,教材,微软官方 free 教程 & 教材,MVC ,ASP.N ...
- involution 内卷化
involution 内卷化 虽然不熟悉 involution,但是我想起另外两个常用词:evolution(进化)和 revolution(革命). 它们共同的词根volute,拉丁语原意是&quo ...
- Vue 3 In Action
Vue 3 In Action $ yarn add vue https://v3.vuejs.org demos refs https://v3.vuejs.org/guide/migration/ ...
- UTM & User Tracking Message
UTM & User Tracking Message utm_source https://marketingplatform.google.com/about/resources/link ...
- Redis in Action
Redis in Action Redis REmote DIctionary Server(Redis) Redis 是一种开放源代码(BSD许可)的内存中数据结构存储,用作数据库,缓存和消息代理. ...
- 翻译:《实用的Python编程》01_07_Functions
目录 | 上一节 (1.6 文件) | 下一节 (2.0 处理数据) 1.7 函数 随着程序开始变大,我们会想要有条理地组织这些程序.本节简要介绍函数.库模块以及带有异常的错误处理. 自定义函数 对你 ...
- 源码分析:Exchanger之数据交换器
简介 Exchanger是Java5 开始引入的一个类,它允许两个线程之间交换持有的数据.当Exchanger在一个线程中调用exchange方法之后,会阻塞等待另一个线程调用同样的exchange方 ...
- Django Admin 后台Admin继承UserAdmin增加用户密码不显示明文和用户登录不了的解决方法
Django后台Admin继承UserAdmin增加用户不显示明文方法 1.在 models.py 中用户表 # 导包规范-1.Python标准模块 from django.db import mod ...
- ConcurrentHashMap允许一边遍历一边更新,而用HashMap则会报线程安全问题
ConcurrentHashMap线程安全的,允许一边更新.一边遍历,也就是说在对象遍历的时候,也可以进行remove,put操作,且遍历的数据会随着remove,put操作产出变化,而如果用Hash ...
- WPF -- 一种直线识别方案
本文介绍一种直线的识别方案. 步骤 使用最小二乘法回归直线: 得到直线方程y=kx+b后,计算所有点到直线的距离,若在阈值范围内,认为是直线. 实现 /// <summary> /// 最 ...