未显示主详细信息关系详细信息值

时间:2012-12-03 13:15:35

标签: salesforce apex-code visualforce

你好我正在写一个代码为

的视觉力量
 <apex:page id="pageId" controller="FieldSetDemonstration">  
<apex:form id="formId">  
    <apex:pageblock id="pbId">  
        <apex:pageblocksection columns="1" id="pbsIs">  
            <apex:repeat value="{!Fields}" var="f">  
                <apex:outputLabel value="{!merch[f]}">  
            </apex:outputLabel></apex:repeat>  
        </apex:pageblocksection>  
    </apex:pageblock>  
</apex:form>  
</apex:page>

和控制器代码是 公共类FieldSetDemonstration {

public Resource__c merch { get; set; }

public FieldSetDemonstration() {
    this.merch = getMerchandise();
}

public List<Schema.FieldSetMember> getFields() {
    return SObjectType.Resource__c.FieldSets.Hello2.getFields();
}

private Resource__c getMerchandise() {
    String query = 'SELECT ';
    for(Schema.FieldSetMember f : this.getFields()) {
        query += f.getFieldPath() + ', ';
    }
    query += 'Id  FROM Resource__c LIMIT 1';
    System.debug('Hello world debug log');
   Resource__c res= Database.query(query);
   Object re=res.Resource_Position__r.Name;

System.debug('Hello World Debug log'+''+ res); System.debug('Hello World1'+查询);   返回资源;     } }

和系统日志值

12:28:55.052(52125000)| USER_DEBUG | [22] | DEBUG | Hello World Debug logResource__c:{Name = Hello Bro,OwnerId = 00590000001V6loAAC,Id = a04900000023JI7AAM}

12:28:55.052(52157000)| USER_DEBUG | [23] | DEBUG | Hello World1 SELECT Resource_Position__r.CreatedById,Resource_Position__c,Name,Owner.Email,Resource_Position_ r.Name,Id FROM Resource _c LIMIT 1

并且Resource__c和Resource_Position__c之间存在主要的详细信息关系 代码中的Hello2是一个字段集 其中包含以下字段

资源位置&gt;资源位置名称

资源位置

资源名称

我面临的问题,而不是显示所有三个字段的价值 1.资源位置&gt;资源位置名称 2.资源位置 3.资源名称 它只显示资源名称的值 没有价值

资源位置&gt;资源位置名称

资源位置

但是我将Resource_Position_ c对象与Resource _c对象相关联,为什么它没有显示这两个字段的值可以任何一个请帮助解决这个问题。我的帮助是非常值得的

如果我在字段集中再添加一个字段hello2所有者ID&gt;电子邮件,那么它在visualforce页面中显示所有者的正确电子邮件地址唯一的问题是来自此customobject的字段名称,任何人都可以告诉为什么它没有为Resource_Position__c赋值.name fiels

1 个答案:

答案 0 :(得分:0)

<apex:outputLabel value="{!merch[f]}">更改为<apex:outputLabel value="{!merch[f.fieldPath]}">