我有添加自定义字段到帐户与选择列表(多个)在Salesforce。但是picklist的值应该是从其他对象动态生成的。如果不能,是否可以从原生应用程序(用ruby编写)推送picklist中的值?
发布于 2012-08-28 09:20:03
我必须使用我的数据库(而不是visualforce页面)中的值来更新picklist。因此,我使用Databasedotcom gem对account进行了身份验证,它提供了很好的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-27 16:05:36
我认为标准控制器不支持动态添加可能的选择表(选择列表)值。
您可以做的是添加一个文本字段而不是选择列表,并使用visualforce创建自定义页面。对您的代码使用带有扩展名的标准控制器。创建一个新的自定义对象,用于保存某个字段的选择列表值(可重复用于其他字段)。用可能的选择列表值填充它。
在页面控制器中,加载该字段的值。
在visualforce中,显示自定义字段的选择列表并从控制器加载值。
如果需要,请添加额外的输入字段以供手动插入。
保存时,将选择列表(或输入框)的值插入到自定义字段中。
更详细的指南可以在here中找到
发布于 2012-08-24 21:11:56
为什么你不在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;
}https://stackoverflow.com/questions/12109820
复制相似问题