unknown property while using a list of class in Vf page
i have a class
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;
}
}
Iam creating a object of this class and passing out the parameters into this class
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);
In my VF page i am trying to display the contents of the list AR.
But i get an error Unknown Propery CAccountRep.ProjectId while saving the VF page.
<table id="tableRep">
<apex:repeat id="tc" value="{!AR}" var="TCrep">
<tr>
<td>{!TCrep.ProjectId}</td>
</tr>
</apex:repeat>
</table>
I can get the output like this if i just give {!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]
Any ideas on how to get it display correctly?
I think the compiler is getting confused because you have 2 public getters in it's opinion i.e. both of these lines:
public List<CAccountRep> AR { get;} // just removed set; for now
public list<CAccountRep> getAR()
Would be called from a Visualforce page when you use the following syntax in the page:
{!AR}
Try doing this instead:
public List<CAccountRep> AR { get{
return AR ; // if AR is null it returns null so the if statement was redundant
}set; }
And remove the getAR() method. You should also mark the class member variables that you'd like to be visible as public e.g.
public string ProjectId {get;set;}
精彩评论