gpt4 book ai didi

salesforce - 在 apex salesforce 中通过名称获取字段的值

转载 作者:行者123 更新时间:2023-12-02 06:19:26 31 4
gpt4 key购买 nike

在我的 visualforce 页面中,我有一些事件对象,首先用户选择一个对象,然后有一个多选择列表。在此选择列表中,用户选择某些字段的所有字段都有标签,然后我必须在选定的事件对象中显示这些字段的值为了显示多个选择列表,我的顶点函数是

 public List<SelectOption> getOptionalFields(){


Map <String, Schema.SObjectField> fieldMap= Campaign.sObjectType.getDescribe().fields.getMap();
List<SelectOption> fieldsName =new List<SelectOption>();

for(Schema.SObjectField sfield : fieldMap.Values())
{
schema.describefieldresult dfield = sfield.getDescribe();
fieldsName.add(new SelectOption(dfield.getName(),dfield.getLabel()));

}

但我不知道如何显示该领域的值(value)例如我有像

这样的对象实例
Campaign c;

现在我必须获取名称为字符串形式的任何字段的值。如何获取该字段的相应值。一个解决方案就像这样写说

String fieldName;

并使用多个 if

if(fieldName=='Name')
c.Name=
if(fieldName=='Id')
c.Id=

还有其他方便的方法吗?请说明!!

最佳答案

您需要阅读有关“动态顶点”的内容。每个“具体”sObject(如客户、联系人、自定义对象)都可以转换为通用 sObject(或者您可以直接使用 methods)。

Object o = c.get(fieldName);
String returnValue = String.valueOf(o);

在 Salesforce 专用站点上有一些关于动态 getset 方法的有用示例:https://salesforce.stackexchange.com/questions/8325/retrieving-value-using-dynamic-soql https://salesforce.stackexchange.com/questions/4193/update-a-records-using-generic-fields (第二个问题有点高级)

您仍然需要以某种方式决定何时以字符串形式返回它,何时以数字形式返回,何时以日期形式返回……只需对其进行试验,然后做一些简单的映射或使用描述方法来了解实际的字段类型。 .

关于salesforce - 在 apex salesforce 中通过名称获取字段的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15114586/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com