[英]Salesforce: Picklist(multiple) with dynamic value
我已在Salesforce中将自定义字段添加到带有选择列表(多个)的帐户。 但是应该从其他对象动态生成选择列表的值。 如果不是,是否有可能从本机应用程序(用红宝石编写)中将值推入选择列表中?
我认为标准控制器不支持动态添加可能的选择列表(选择列表)值。
您可以做的是添加一个文本字段而不是一个选择列表,并使用visualforce创建一个自定义页面。 将标准控制器与扩展名一起使用。 创建一个新的自定义对象,以保存某个字段的选择列表值(可用于其他字段)。 用可能的选择列表值填充它。
在页面控制器中,加载该字段的值。
在visualforce中,显示自定义字段的选择列表并从控制器加载值。
如果需要,添加一个额外的输入字段以手动插入。
保存时,将选择列表(或输入框)的值插入自定义字段。
可以在这里找到更详细的指南
为什么不在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;
}
我必须使用数据库(而不是某些visualforce页面)中的值更新选择列表。 因此,我使用Databasedotcom gem验证了帐户,它为使用Salesforce Objects(标准和自定义)提供了很好的Api。
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
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.