我已在Salesforce中将自定义字段添加到具有选项列表(多个)的帐户。但是,picklist的值应该是从其他对象动态生成的。如果没有,是否可以从本机应用程序(用ruby编写)推送选项列表中的值?
答案 0 :(得分:1)
我不认为标准控制器支持动态添加可能的选项列表(选择列表)值。
您可以做的是添加文本字段而不是选项列表,并使用visualforce创建自定义页面。使用带有代码扩展名的标准控制器。 创建一个新的自定义对象,用于保存字段的选项列表值(可以重复用于其他字段)。用可能的选项列表值填充它 在页面控制器中,加载该字段的值 在visualforce中,显示自定义字段的选项列表并从控制器加载值 如果需要,可以添加额外的输入字段以手动插入 保存时,将选取列表(或输入框)的值插入自定义字段。
可以找到更详细的指南here
答案 1 :(得分:0)
为什么不在Apex中使用正常的SelectOption List?
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;
}
答案 2 :(得分: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