2013-02-27 50 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

相關問題