0

我已在 Salesforce 中使用选项列表(多个)将自定义字段添加到客户。但是选择列表的值应该是从其他对象动态生成的。如果没有,是否可以从本机应用程序(用 ruby​​ 编写)推送选项列表中的值?

4

3 回答 3

1

我不认为标准控制器支持动态添加可能的选择列表(选择列表)值。

您可以做的是添加一个文本字段而不是一个选项列表,并使用 visualforce 创建一个自定义页面。为您的代码使用带有扩展名的标准控制器。创建一个新的自定义对象来保存字段的选项列表值(可以重复用于其他字段)。用可能的选项列表值填充它。
在页面控制器中,加载该字段的值。
在 visualforce 中,显示自定义字段的选择列表并从控制器加载值。
如果需要,为手动插入添加额外的输入字段。
保存时,将选项列表(或输入框)的值插入自定义字段。

可以在这里找到更详细的指南

于 2012-08-27T08:05:36.337 回答
0

为什么不在 Apex 中使用普通的 SelectOption 列表?

public List<SelectOption> getMyPicklist()
{   
    List<SelectOption> options = new List<SelectOption>();
    List<Account> acc = [ Select Id, Name From  Account Limit 10 ];

    for(Account a : acc){
        options.add(new SelectOption(a.Id,a.Name));
    }

    return options;
}
于 2012-08-24T13:11:55.807 回答
0

我必须使用我的数据库中的值(而不是来自某些 visualforce 页面)来更新选项列表。因此,我使用 Databasedotcom gem 对帐户进行了身份验证,它提供了很好的 Api 来与 Salesforce 对象(标准和自定义)进行迭代。

 client.authenticate :token => "my-oauth-token", :instance_url => "http://na1.salesforce.com"  #=> "my-oauth-token"

 account = client.materialize("Account")
 account_to_be_updated = account.find(account_id) # here account is same as Instance of Activerecord
 account_to_be_updated.my_picklist = [value1; value2; value3; value4]
 account_to_be_updated.save
于 2012-08-28T01:20:03.247 回答