2013-02-27 23 views
2

我有一些广告系列对象第一个用户选择一个对象,然后有一个多选项列表。在这个选择列表有标签的所有字段用户选择某些字段,然后我必须表明在选择运动对象 这些字段的值显示多个选择列表我的心尖功能在我的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())); 

} 

,但我不知道如何显示值的字段 为exmple我有对象实例一样

Campaign c; 

现在我必须让他的名字在字符串中的任何字段的值form.how来获取该field.one解决方案对应的价值就像 那样写

String fieldName; 

和使用多个如果

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

是否有任何其他方便的方法??请解释!!

回答

9

您需要阅读“动态顶点”。每个“具体”sObject(像Account,Contact,自定义对象)都可以转换成通用的sObject(或者你可以直接使用methods)。

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

有动态getset方法对Salesforce的专用网站中的一些有用的例子:https://salesforce.stackexchange.com/questions/8325/retrieving-value-using-dynamic-soqlhttps://salesforce.stackexchange.com/questions/4193/update-a-records-using-generic-fields(第二个问题是一个比较高级的)

你仍然需要以某种方式决定何时返回它作为字符串,当数字,当日期...只是试验它,或者做一些简单的映射或使用描述方法来学习实际字段类型...

+0

先生可以请你回复这个查询卡住严重http://stackoverflow.com/questions/15319444/adding-rows-in-visualforce-page-in-p ageblocktable-动态 – 2013-03-10 06:36:10

相关问题