Tag Archives: Visualforce Page

How to include one visualforce page within another?

<apex:page sidebar="false" id="TestPage">
    <p>Inner Visualforce Page Before</p>
        <apex:include pagename="TestChart"></apex:include>
    <p>Inner Visualforce Page After</p>
</apex:page>

Note: Here in above sample visualforce page “TestPage” is the main page and “TestChart” is another visulaforce page within “Testpage”.

Use of immediate attribute of commandbutton & commandlink in visualforce page.

Basically we used immediate="true" in CommandButton & CommandLink, when we don’t want our validation rules to be fired during any server request.

It is a Boolean value that specifies whether the action associated with this component should happen immediately, without processing any validation rules associated with the fields on the page. If set to true, the action happens immediately and validation rules are skipped. If not specified, this value defaults to false.

We generally use it to make functionality of “Cancel” button or “Back” button, where we don’t want validation rule to get executed. If we don’t use immediate=true then on click of cancel button also, validation rules will get executed.

Here is the sample code:

<apex:commandlink action="{!cancel}" value="Cancel" styleclass="btn" id="btnCancel" immediate="true">
</apex:commandlink>

Salesforce: Use Tab in Visualforce Page

Visualforce Page:

<apex:page doctype="html-5.0" standardcontroller="account" tabstyle="account">
    <apex:pageblock title="{!account.Name}">
        <apex:tabpanel id="tabpanel">
         
            <apex:tab label="Account Details" rerender="tabpanel" switchtype="ajax">
            <apex:detail relatedlist="false"></apex:detail>
            </apex:tab>
             
            <apex:tab label="Contacts" rerender="tabpanel" switchtype="ajax">
            <apex:relatedlist list="Contacts"></apex:relatedlist>
            </apex:tab>
             
            <apex:tab label="Opportunities" rerender="tabpanel" switchtype="ajax">
            <apex:relatedlist list="Opportunities"></apex:relatedlist>
            </apex:tab>
             
            <apex:tab label="Cases" rerender="tabpanel" switchtype="ajax">
             <apex:relatedlist list="Cases"></apex:relatedlist>
            </apex:tab>
             
        </apex:tabpanel>
    </apex:pageblock>
</apex:page>

Note: Please pass account id in url e.g.
https://salesforce.com/apex/TabInVisualForcePage?id=0019000001DEV5z

Output:

index

How to Print a Visualforce page in Salesforce?

Controller:

public class PrintSample {
 
    public List<account> objList {get; set;}
    
    public PrintSample() {
        objList = new List<account>();
        objList = [SELECT Name, Phone FROM Account];
    }
}

Visualforce Page:

<apex:page showheader="false" controller="PrintSample">
    <apex:panelgrid width="100%" style="text-align:right;">
        <apex:form>
            <apex:commandlink value="Print" onclick="window.print();"></apex:commandlink>
        </apex:form>
    </apex:panelgrid>
    <apex:pageblock title="Account Information">
        <apex:pageblocktable value="{!objList}" var="a">
            <apex:column value="{!a.Name}"></apex:column>
            <apex:column value="{!a.Phone}"></apex:column>
        </apex:pageblocktable>
    </apex:pageblock>
</apex:page>

Output:

download

Rendering a Visualforce Page in PDF Format

You can render any page as a PDF by adding the renderAs attribute to the component, and specifying pdf as the rendering service.

For example:

<apex:page renderas="pdf">
</apex:page>

Note: Visualforce pages rendered as PDFs will either display in the browser or download as a PDF file, depending on your browser settings.