You need to sign in to do that
Don't have an account?
Aurora Ganguly 10
How to save data by selecting in a vf page
Hi ,
I need a clarity on how to save this data . the scenario is . I have one custom object Campaign and another one Campaign member both are custom and have a lookup relationship . when I open the a campaign record in the below related list i have campaign member section and there is a new button. onclickof that new button am fetching all contact details . and I am able to select one and multiple contact at a time.I jave provided a Add button , just to save the selected contact with that particular Campign , in the related list . But am unable to structure it .
am sharing the code .
please tellme how to add this .
I need a clarity on how to save this data . the scenario is . I have one custom object Campaign and another one Campaign member both are custom and have a lookup relationship . when I open the a campaign record in the below related list i have campaign member section and there is a new button. onclickof that new button am fetching all contact details . and I am able to select one and multiple contact at a time.I jave provided a Add button , just to save the selected contact with that particular Campign , in the related list . But am unable to structure it .
am sharing the code .
please tellme how to add this .
vf page : - <apex:page controller="wrapperClassController" sidebar="false" showHeader="false"> <script type="text/javascript"> function selectAllCheckboxes(obj,receivedInputID){ var inputCheckBox = document.getElementsByTagName("input"); for(var i=0; i<inputCheckBox.length; i++){ if(inputCheckBox[i].id.indexOf(receivedInputID)!=-1){ inputCheckBox[i].checked = obj.checked; } } } </script> <apex:form > <apex:pageBlock > <apex:pageBlockButtons > <apex:commandButton value="Process Selected" action="{!processSelected}"/> </apex:pageBlockButtons> <!-- In our table we are displaying the cContact records --> <apex:pageBlockTable value="{!contacts}" var="c" id="table"> <!--<apex:column >--> <!-- This is our selected Boolean property in our wrapper class --> <!-- <apex:inputCheckbox value="{!c.selected}"/>--> <!-- </apex:column>--> <apex:column > <apex:facet name="header"> <apex:inputCheckbox onclick="selectAllCheckboxes(this,'inputId')"/> </apex:facet> <apex:inputCheckbox value="{!c.selected}" id="inputId"/> </apex:column> <!-- This is how we access the contact values within our cContact container/wrapper --> <apex:column value="{!c.con.Name}" /> <apex:column value="{!c.con.Email}" /> <apex:column value="{!c.con.Phone}" /> </apex:pageBlockTable> </apex:pageBlock> </apex:form> </apex:page> Controller :- public class wrapperClassController { //Our collection of the class/wrapper objects cContact public List<cContact> contactList {get; set;} //This method uses a simple SOQL query to return a List of Contacts public List<cContact> getContacts() { if(contactList == null) { contactList = new List<cContact>(); for(Contact c: [select Id, Name, Email, Phone from Contact limit 10]) { // As each contact is processed we create a new cContact object and add it to the contactList contactList.add(new cContact(c)); } } return contactList; } public PageReference processSelected() { //We create a new list of Contacts that we be populated only with Contacts if they are selected List<Contact> selectedContacts = new List<Contact>(); //We will cycle through our list of cContacts and will check to see if the selected property is set to true, if it is we add the Contact to the selectedContacts list for(cContact cCon: getContacts()) { if(cCon.selected == true) { selectedContacts.add(cCon.con); } // insert selectedContacts; } // Now we have our list of selected contacts and can perform any type of logic we want, sending emails, updating a field on the Contact, etc System.debug('These are the selected Contacts...'); for(Contact con: selectedContacts) { system.debug(con); } contactList=null; // we need this line if we performed a write operation because getContacts gets a fresh list now return null; } // This is our wrapper/container class. A container class is a class, a data structure, or an abstract data type whose instances are collections of other objects. In this example a wrapper class contains both the standard salesforce object Contact and a Boolean value public class cContact { public Contact con {get; set;} public Boolean selected {get; set;} //This is the contructor method. When we create a new cContact object we pass a Contact that is set to the con property. We also set the selected value to false public cContact(Contact c) { con = c; selected = false; } } }