You need to sign in to do that
Don't have an account?
Veronica Coiina
what can i do for order by birthdate asc a table
i need create an extension controller and a vp where i can in a pdf document a table with name, birthdate,department, etc. this is contact info of an account and i need order this table for birthdate.
my vp:
<apex:page applyHTMLTag="true" applyBodyTag="false" showHeader="false" renderas="pdf" standardController="Account" extensions="ContactsListController" >
<style type="text/css">
<apex:stylesheet value="{!URLFOR($Resource.style)}"/>
</style>
<html>
<body>
<div style="float: left; ">
<apex:image alt="cargill" title="cargill"
url="{!URLFOR($Resource.cargill)}"/>
</div>
<div style="float: right; ">
<br/>
<apex:outputText value="Caracas,{0,date, dd/MM/yyy}">
<apex:param value="{!NOW()}" />
</apex:outputText><br/>
{! IF($User.isActive, $User.FirstName & ' ' & $User.LastName, 'inactive') } <br/>
{! Account.Name }
</div>
<div style="clear:both;"> </div><br/><br/><br/>
<apex:pageBlock >
<apex:pageBlockTable value="{!Account.contacts}" var="contact">
<apex:column value="{!contact.Name}"/>
<apex:column value="{!contact.Department}"/>
<apex:column value="{!contact.Phone}"/>
<apex:column value="{!contact.Gender__c}"/>
<apex:column value="{!contact.Birthdate}"/>
<apex:column >
<apex:facet name="header">Age</apex:facet>
{!year(today())-year(contact.birthdate)- 1}
</apex:column>
</apex:pageBlockTable>
</apex:pageBlock>
</body>
</html>
</apex:page>
my class:
public class ContactsListController {
private final Account acct;
private String sortOrder = 'birthdate';
public ContactsListController(ApexPages.StandardController stdController) {
this.acct = (Account)stdController.getRecord();
}
public List<Contact> getContacts() {
List<Contact> results = Database.query(
'SELECT name,Department, Phone, Gender__c, Birthdate ' + 'FROM account' +
'ORDER BY ' + sortOrder + ' desc '
);
return results;
}
}
my vp:
<apex:page applyHTMLTag="true" applyBodyTag="false" showHeader="false" renderas="pdf" standardController="Account" extensions="ContactsListController" >
<style type="text/css">
<apex:stylesheet value="{!URLFOR($Resource.style)}"/>
</style>
<html>
<body>
<div style="float: left; ">
<apex:image alt="cargill" title="cargill"
url="{!URLFOR($Resource.cargill)}"/>
</div>
<div style="float: right; ">
<br/>
<apex:outputText value="Caracas,{0,date, dd/MM/yyy}">
<apex:param value="{!NOW()}" />
</apex:outputText><br/>
{! IF($User.isActive, $User.FirstName & ' ' & $User.LastName, 'inactive') } <br/>
{! Account.Name }
</div>
<div style="clear:both;"> </div><br/><br/><br/>
<apex:pageBlock >
<apex:pageBlockTable value="{!Account.contacts}" var="contact">
<apex:column value="{!contact.Name}"/>
<apex:column value="{!contact.Department}"/>
<apex:column value="{!contact.Phone}"/>
<apex:column value="{!contact.Gender__c}"/>
<apex:column value="{!contact.Birthdate}"/>
<apex:column >
<apex:facet name="header">Age</apex:facet>
{!year(today())-year(contact.birthdate)- 1}
</apex:column>
</apex:pageBlockTable>
</apex:pageBlock>
</body>
</html>
</apex:page>
my class:
public class ContactsListController {
private final Account acct;
private String sortOrder = 'birthdate';
public ContactsListController(ApexPages.StandardController stdController) {
this.acct = (Account)stdController.getRecord();
}
public List<Contact> getContacts() {
List<Contact> results = Database.query(
'SELECT name,Department, Phone, Gender__c, Birthdate ' + 'FROM account' +
'ORDER BY ' + sortOrder + ' desc '
);
return results;
}
}
But i need table only show contacts associated with the account, not all contacts.
you know how i can do it?
Option 1:-
Option 2 :- New Page for you :- Account and all record Contact Detail Let us know if this will help you
https://developer.salesforce.com/forums/ForumsMain?id=906F0000000D9NY
Please update your class like below :-
VF page like below :- Please let us know if this will help you