对Salesforce来说是新手。 我使用了以下查询:
select name,(select Due_Amount__c from Dues__r where year__c=1990 and month__c=3) from contact where Accountid = '00190000012j4Xi'
将结果显示为
姓名Due__c
Rose Gonzalez Due_Amount__c
1 400.0
肖恩福布斯Due_Amount__c
1 300.0
我将数据表中的结果填充为contact.name:
totalDues = new List<Contact>([select name,(select Due_Amount__c from Dues__r where year__c=1990 and month__c=3) from contact where Accountid =: selectedSoc]);
totalDuesWrapperList = new List<contactWrapper>();
for(Contact c : totalDues)
totalDuesWrapperList.add(new contactWrapper(c));
/*Wrapper class*/
public Contact con{get; set;}
public Boolean selected {get;set;}
// public Due__c totalDues{get;set;}
public Due__c dueObj{get;set;}
public Decimal totalDues{get;set;}
public contactWrapper(Contact c)
{
con= c;
selected = false;
totalDues = 0;
dueObj = new Due__c();
}
}
视觉强制代码:
<apex:dataTable value="{!totalDuesWrapperList}" var="con" id="contactTable2" columnswidth="50px,50px" cellpadding="4" border="1" title="table2">
<apex:column headervalue="Member Name" value="{!con.con.name}" />
<apex:column headervalue="Dues Remaining" value="{!con.Due_Amount__c}" />
</apex:dataTable>
我遇到的问题是无法像con.Due_Amount__c一样访问到期金额(con.name)
在这方面,有没有人可以帮助我。
答案 0 :(得分:0)
子查询将自身显示为集合,因此您需要访问集合中的各个记录以获取值。
E.g。获得第一笔会费到期金额。
<apex:column headervalue="Dues Remaining" value="{!con.Dues__r[0].Due_Amount__c}" />
或者,您可能会发现修改包装类以将所需值公开为属性更容易。
public Decimal DueAmount {
get {
return con.Dues__r[0].Due_Amount__c;
}
}
另见:
顺便说一下,Salesforce StackExchange是Salesforce特定问题的好地方。