こんにちは私はコードがである視覚的な力を書いています
<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フィールドに値が与えられない理由を教えてください。