My visualforce page creates many contacts in one go. I want to pre-populate a certain account name when the page is loaded. Even though it always pre-populates a certain account, user should have the ability to use the lookup and change to another account if wanted. How can I do this?
My visualforce code used in the pageblocktable
<apex:column headerValue="Account Name">
<apex:inputField value="{!eachRecord.record.AccountId}" required="true"/>
</apex:column>
Controller
public with sharing class AddMultipleContactsController {
public List<WrapperContactList> contList {get; set;}
public Integer rowToRemove {get; set;}
public AddMultipleContactsController() {
contList = new List<WrapperContactList>();
addNewRowToContList();
}
public void addNewRowToContList(){
contList = AddMultipleContactsHelper.addNewRowToContList(contList);
}
public void removeRowFromContList(){
contList = AddMultipleContactsHelper.removeRowToContList(rowToRemove, contList);
}
public PageReference SaveMultipleContacts(){
try{
AddMultipleContactsHelper.save(contList);
}catch(Exception ex){
ApexPages.addMessage(new Apexpages.Message(Apexpages.Severity.ERROR,ex.getMessage()));
}
ApexPages.AddMessage(new ApexPages.Message(ApexPages.Severity.CONFIRM,'All Contact Records have been successfully Saved'));
return null;
}
public PageReference SaveMultipleContactsAndClose(){
try{
AddMultipleContactsHelper.save(contList);
}catch(Exception ex){
ApexPages.addMessage(new Apexpages.Message(Apexpages.Severity.ERROR,ex.getMessage()));
}
PageReference contactPage = new PageReference('/003/o');
return contactPage;
}
public class WrapperContactList{
public Integer index {get; set;}
public Contact record {
get{
if(record.AccountId == null){
Account_Setting__c m = new Account_Setting__c.getInstance();
record.AccountId = m.Acccount_Id__c;
}
return record;
} set {record = value;}
}
}
}