Create apex class
public class conContactList{
public Integer numberofRecord{get;set;}
public List<Contact> ContactList{get;set;}
public conContactList(ApexPages.StandardSetController controller)
{
ContactList=controller.getSelected();
numberofRecord=ContactList.Size();
}
public List<Contact>getContactListSF()
{
List<Contact> NewContactList=[Select c.Id, FirstName,LastName,Phone from Contact c Where c.Id In : ContactList] ;
return NewContactList;
}
}
Visualforce page
<apex:page standardController="Contact" recordSetVar="Contact" extensions="conContactList"
cache="true" >
<apex:outputText value="{!numberofRecord}"></apex:outputText>
<apex:pageblock Title="List of contacts" >
<apex:pageBlockTable value="{!ContactListSF}" var="a" >
<apex:column headervalue="First Name" value="{!a.FirstName}" />
<apex:column headervalue="Last Name" value="{!a.LastName}" />
<apex:column headervalue="Last Name" value="{!a.Phone}" />
</apex:pageBlockTable>
</apex:pageblock>
</apex:page>
Javascript Button
{!REQUIRESCRIPT("/soap/ajax/22.0/connection.js")}
{!REQUIRESCRIPT("/soap/ajax/16.0/apex.js")}
var records = {!GETRECORDIDS($ObjectType.Contact)};
var strIDs='';
if (records[0] == null)
{
alert('Please select a record');
}
else
{
var sApi='{!$Api.Partner_Server_URL_290}';
var sindex=sApi.indexOf('//');
var Eindex=sApi.indexOf('.');
var server=sApi.substring(sindex+2,Eindex) //*** getting server information *****
//this.form.action = 'https://c.'+server+'.visual.force.com/apex/ContactList?wrapMassAction=1&scontrolCaching=1';
this.form.action = 'https://gs78.'+server+'.visual.force.com/apex/ContactList?wrapMassAction=1&scontrolCaching=1'; //*** You must need to full url Other wise you loss selected record***
this.form.submit();
}
No comments:
Post a Comment