0

こんにちは私はコードがである視覚的な力を書いています

 <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('HelloWorldデバッグログ'+'' + res); System.debug('Hello World1' + query); resを返します。}}

およびシステムログの値は

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は、次のフィールドを含むフィールドセットです。

リソースポジション>リソースポジション名

リソースの位置

リソース名

3つのフィールドすべての値を表示する代わりに私が直面している問題1.リソース位置>リソース位置名2.リソース位置3.リソース名表示値のみリソース名値なし

リソースポジション>リソースポジション名

リソースの位置

しかし、私はResource_Position_cオブジェクトをResource_cオブジェクトに関連付けます。なぜ、これら2つのフィールドの値が表示されないので、この問題の解決に役立ててください。

フィールドセットhello2所有者ID>電子メールにフィールドをもう1つ追加すると、visualforceページに所有者の正しい電子メールアドレスが表示されるだけの問題は、このカスタムオブジェクトのフィールド名に起因します。Resource_Position__c.nameフィールドに値が与えられない理由を教えてください。

4

1 に答える 1

0

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

于 2013-01-08T15:46:46.700 に答える