我有一个班级
public with sharing class CAccountRep {
string sageAccountNo {get;set;}
string clientName {get;set;}
string name {get;set;}
integer noofdays {get;set;}
string billableUnits {get;set;}
decimal dailyChargeRate {get;set;}
string nominalCode {get;set;}
string practice {get;set;}
string taxFlag {get;set;}
string ProjectId {get;set;}
string PONumber {get;set;}
public CAccountRep(String CrSageAc,String CrClientN,string CrName,integer Crnoofdays,string crbillableunits,decimal CrDecimalChargeRate,string crNominalCode,string CrPractice, String CrTaxFlag,String CrProjectId, String CrPONumber)
{
sageAccountNo=CrSageAc;
clientName=CrClientN;
name=CrName;
noofdays=Crnoofdays;
billableUnits=crbillableunits;
dailyChargeRate=CrDecimalChargeRate;
nominalCode=crNominalCode;
practice=CrPractice;
taxFlag=CrTaxFlag;
ProjectId=CrProjectId;
PONumber=CrPONumber;
}
}
我创建了这个类的对象并将参数传递给这个类
public List<CAccountRep> AR { get;set; }
public list<CAccountRep> getAR()
{
if(AR!= null)
return AR ;
else return null;
}
Using the follwing code to create the object of the class
CAccountRep CRep=new CAccountRep(projectList[0].Sage_Account_Number__c,projectList[0].Client_Name__c, Cname,enoOfBillableDays,projectList[0].BillableUnits__c,AssConlist[0].Daily_Charge_Rate_of_Consultant__c,AssConlist[0].Nominal_Code__c,projectList[0].C85_Practice__c,projectList[0].Tax_Flag__c,projectList[0].Project_ID__c,projectList[0].PO_Number__c);
AR.add(CRep);
在我的VF页面中,我试图显示列表AR的内容。
但是我在保存VF页面时收到错误Unknown Propery CAccountRep.ProjectId。
<table id="tableRep">
<apex:repeat id="tc" value="{!AR}" var="TCrep">
<tr>
<td>{!TCrep.ProjectId}</td>
</tr>
</apex:repeat>
</table>
如果我只给{!TCrep}
,我可以得到这样的输出CAccountRep:[PONumber=null, ProjectId=C85_JPMC1 _A-0083, billableUnits=null, clientName=001A000000YJFhdIAH, dailyChargeRate=null, name=Change Order 10002011-09-05 to 2011-10-10 : 0 null, nominalCode=null, noofdays=0, practice=Administration, sageAccountNo=null, taxFlag=null]
CAccountRep:[PONumber=null, ProjectId=C85_BBCWW _A-0084, billableUnits=null, clientName=001A000000cwgIlIAI, dailyChargeRate=null, name=Secure Desktop v012011-09-05 to 2011-10-10 : 0 null, nominalCode=null, noofdays=0, practice=null, sageAccountNo=null, taxFlag=null]
CAccountRep:[PONumber=null, ProjectId=C85_JPMC1 _A-0083, billableUnits=null, clientName=001A000000YJFhdIAH, dailyChargeRate=null, name=Change Order 10002011-09-05 to 2011-10-10 : 0 null, nominalCode=null, noofdays=0, practice=Administration, sageAccountNo=null, taxFlag=null]
有关如何正确显示的任何想法?
答案 0 :(得分:2)
我认为编译器感到困惑,因为你认为它有2个公共getter,即这两行:
public List<CAccountRep> AR { get;} // just removed set; for now
public list<CAccountRep> getAR()
当您在页面中使用以下语法时,将从Visualforce页面调用:
{!AR}
尝试这样做:
public List<CAccountRep> AR { get{
return AR ; // if AR is null it returns null so the if statement was redundant
}set; }
删除getAR()方法。您还应该将您希望显示的类成员变量标记为公共,例如
public string ProjectId {get;set;}