You need to sign in to do that
Don't have an account?
Swetha Sfdc1
How to Seperate Lookup Field from Add/Remove Functionality
Hi Friends,
Thanks in advance, I am facing problem with Looup field ,I want it should seperate from section, please help me over here .
Note:
1--> I dont want to enter looup field multiple of times insted of that I want it should be header.
2--> Lookup field value is manditory for entire page.
I found issue is in Controller ( public multiadd(ApexPages.StandardController ctlr))
VF page code
Note:
1--> I dont want to enter looup field multiple of times insted of that I want it should be header.
2--> Lookup field value is manditory for entire page.
showing Error if Lookup field removed
Thanks in advance, I am facing problem with Looup field ,I want it should seperate from section, please help me over here .
Note:
1--> I dont want to enter looup field multiple of times insted of that I want it should be header.
2--> Lookup field value is manditory for entire page.
I found issue is in Controller ( public multiadd(ApexPages.StandardController ctlr))
VF page code
<apex:page StandardController="mycontroller__c" extensions="multiadd" id="thePage" sidebar="false"> <apex:form > <apex:pageblock id="pb" > <apex:pageBlockButtons > <apex:commandbutton value="Add" action="{!Add}" rerender="pb1"/> <apex:commandbutton value="Save" action="{!Save}"/> </apex:pageBlockButtons> <table width="100%"> <tr width="100%"><th><center>HelpPortal</center></th></tr> <tr> <td rowspan="4"></td> </tr> <tr> <td><h1 style="text-align:center;color:blue;">Text1 : <apex:inputText value="{!Tour_Plan__c.Text1__c}" style="width:50px;height:20px;"/></h1></td> <td><h1 style="text-align:center;color:blue;">Text2 : <apex:inputText value="{!Tour_Plan__c.Text2__c}" style="width:50px;height:20px;"/></h1></td> </tr> <tr> <td><h1 style="text-align:center;color:blue;">Text3 : <apex:inputText value="{!Tour_Plan__c.Text3__c}" style="width:130px;height:20px;"/></h1></td> <td><h1 style="text-align:center;color:blue;">Text4 : <apex:inputText value="{!Tour_Plan__c.Text4__c}" style="width:50px;height:20px;"/></h1></td> </tr> <tr> <td><h1 style="text-align:center;color:blue;">Text5 <apex:inputText value="{!Tour_Plan__c.DATE_OF_TRAVEL__c}" style="width:50px;height:20px;"/></h1></td> <td></td> </tr> </table> <apex:pageblock id="pb1"> <apex:repeat value="{!lstInner}" var="e1" id="therepeat"> <apex:panelGrid columns="16"> <apex:panelGrid title="Date" > <apex:facet name="header">Date</apex:facet> <apex:inputfield value="{!e1.acct.Date__c}" style="width:50px;height:20px;"/> </apex:panelGrid> <apex:panelGrid title="Unit Cost" > <apex:facet name="header">Text1</apex:facet> <apex:inputfield value="{!e1.acct.Text1__c}" style="width:50px;height:20px;"/> </apex:panelGrid> <apex:panelGrid title="Nights" > <apex:facet name="header">Text2</apex:facet> <apex:inputfield value="{!e1.acct.Text2__c}" style="width:50px;height:20px;"/> </apex:panelGrid> <apex:panelGrid title="Twin" > <apex:facet name="header">Text3</apex:facet> <apex:inputfield value="{!e1.acct.Text3__c}" style="width:50px;height:20px;"/> </apex:panelGrid> <apex:panelGrid title="Tripl" > <apex:facet name="header">Text4</apex:facet> <apex:inputfield value="{!e1.acct.Text4__c}" style="width:50px;height:20px;"/> </apex:panelGrid> <apex:panelGrid > <apex:facet name="header">Text5</apex:facet> <apex:inputfield value="{!e1.acct.Text5__c}" style="width:50px;height:20px;"/> </apex:panelGrid> <apex:panelGrid > <apex:facet name="header">Text6</apex:facet> <apex:inputfield value="{!e1.acct.Text6__c}" style="width:50px;height:20px;"/> </apex:panelGrid> <apex:panelGrid > <apex:facet name="header">Text7</apex:facet> <apex:inputfield value="{!e1.acct.Text7__c}" style="width:50px;height:20px;"/> </apex:panelGrid> <apex:panelGrid > <apex:facet name="header">Dependency Lookup</apex:facet> <apex:inputfield value="{!e1.acct.CustomName__c}" style="width:50px;height:20px;"/> </apex:panelGrid> <apex:panelGrid headerClass="Name"> <apex:facet name="header">Del</apex:facet> <apex:commandButton value="X" action="{!Del}" rerender="pb1"> <apex:param name="rowToBeDeleted" value="{!e1.recCount}" assignTo="{!selectedRowIndex}"></apex:param> </apex:commandButton> </apex:panelGrid> </apex:panelgrid> </apex:repeat> </apex:pageBlock> </apex:pageblock> </apex:form> </apex:page>Controller
public class multiadd { //will hold the mycontroller__c records to be saved public List<mycontroller__c>lstAcct = new List<mycontroller__c>(); //list of the inner class public List<innerClass> lstInner { get;set; } //will indicate the row to be deleted public String selectedRowIndex {get;set;} //no. of rows added/records in the inner class list public Integer count = 1; //{get;set;} ////save the records by adding the elements in the inner class list to lstAcct,return to the same page public PageReference Save() { PageReference pr = new PageReference('/apex/multiaddSuccessPage'); for(Integer j = 0;j<lstInner.size();j++) { lstAcct.add(lstInner[j].acct); } insert lstAcct; pr.setRedirect(True); return pr; } //add one more row public void Add() { count = count+1; addMore(); } /*Begin addMore*/ public void addMore() { //call to the iner class constructor innerClass objInnerClass = new innerClass(count); //add the record to the inner class list lstInner.add(objInnerClass); system.debug('lstInner---->'+lstInner); }/* end addMore*/ /* begin delete */ public void Del() { system.debug('selected row index---->'+selectedRowIndex); lstInner.remove(Integer.valueOf(selectedRowIndex)-1); count = count - 1; }/*End del*/ /*Constructor*/ public multiadd(ApexPages.StandardController ctlr) { lstInner = new List<innerClass>(); addMore(); selectedRowIndex = '0'; }/*End Constructor*/ /*Inner Class*/ public class innerClass { /*recCount acts as a index for a row. This will be helpful to identify the row to be deleted */ public String recCount {get;set;} public mycontroller__c acct {get;set;} /*Inner Class Constructor*/ public innerClass(Integer intCount) { recCount = String.valueOf(intCount); /*create a new mycontroller__c*/ acct = new mycontroller__c(); }/*End Inner class Constructor*/ }/*End inner Class*/ }/*End Class*/
Note:
1--> I dont want to enter looup field multiple of times insted of that I want it should be header.
2--> Lookup field value is manditory for entire page.
showing Error if Lookup field removed
<inputField value="{!objInClass.acct.CustomName__c}"></inputField>
In the controller add the below lines of code::
public innerClass objInClass {get; set;}
Now in the save method
public PageReference Save()
{
PageReference pr = new PageReference('/apex/multiaddSuccessPage');
//below line of code added
string CustomerId= objInClass.acct.CustomName__c;
for(Integer j = 0;j<lstInner.size();j++)
{
//below line of code added
lstInner[j].acct.CustomName__c=CustomerId;
lstAcct.add(lstInner[j].acct);
}
insert lstAcct;
pr.setRedirect(True);
return pr;
}
I have not compiled the code , but you should try something like above and it will work.
Let me know if you face any issues
I tried this code But nothing happened, After saving Controller, input field is not showing in VF page <apex:inputField value="{!objInClass.acct.CustomName__c}"/>.
Please anybody help regarding this Issue.
Thanks & regards
Swetha
add above line of code after
public innerClass objInClass {get; set;}
I have tried other ways also
->InnerClass objInClass = new InnerClass(); //Compile Error: Duplicate variable: objInClass (attempt to re-create the variable with type: InnerClass) at line 5 column 15
->OuterClass.InnerClass innerObject = outerObject.new InnerClass(); //(Nested Class)
But I am unable to move further.
Thanks & regards
Swetha