Day 4 Assignment (VFpage, JavaScript)
Jan26

Day 4 Assignment (VFpage, JavaScript)

I have created a 5 Days Salesforce based programming and configuration assignments for practice and improving your skills. This blog have the third day assignment. Since all the blogs are related I would recommend beginners to start from Day 2 assignment and not directly jump to this blog.     Requirement: We have a university “St Judes” which wants its salesforce account to get configured by us. Following are the requirement of this client.  1. Create a VF page listing a quick search for all the Professors. A quick search will be a on key press VF page. If the users press “V” in the field all the professors with starting name “V” like Vineet, Vinay .. etc will list down in the page. AJAX Toolkit Developer Guide SOLUTION: VisualForce Page Visual force page code. <apex:page id="page" controller="Basic2SearchProfessorsDynamically" sidebar="false"> <apex:form id="form"> <apex:pageMessages id="errors" /> <apex:pageBlock title="Find Me A Professor!" mode="edit" id="block"> <table width="100%" border="0"> <tr> <td width="200" valign="top"> <apex:pageBlock title="Parameters" mode="edit" id="criteria"> <script type="text/javascript"> function doSearch() { searchServer(document.getElementById("profName").value, document.getElementById("mail").value, document.getElementById("YOE").value ); } </script> <apex:actionFunction name="searchServer" action="{!runSearch}" reRender="results,errors,debug"> <apex:param name="profName" value="" /> <apex:param name="mail" value="" /> <apex:param name="YOE" value="" /> </apex:actionFunction> <table cellpadding="2" cellspacing="2" id="table"> <tr> <td style="font-weight:bold;">Name<br /> <input type="text" id="profName" onkeyup="doSearch();" /> </td> </tr> <tr> <td style="font-weight:bold;">Email<br /> <input type="text" id="mail" onkeyup="doSearch();" /> </td> </tr> <tr> <td style="font-weight:bold;">Year Of Experience<br /> <input type="text" id="YOE" onkeyup="doSearch();" /> </td> </tr> </table> </apex:pageBlock> </td> <td valign="top"> <apex:pageBlock mode="edit" id="results"> <apex:outputPanel id="panel" rendered="true"> <apex:pageBlockTable value="{!profList}" var="prof"> <apex:variable value="{!0}" var="cnt"/> <apex:column headerValue="Action"> <apex:commandButton value="Delete" style="background: red; color: white;" action="{!deleteProf}" rendered="true" reRender="panel"> <apex:param value="{!prof.Id}" name="profToRemove" assignTo="{!rowToRemove}"/> <apex:param name="index" value="{!cnt}"/> </apex:commandButton> <apex:variable var="cnt" value="{!cnt+1}"/> </apex:column> <apex:column > <apex:facet name="header"> <apex:commandLink value="Professor Name" action="{!toggleSort}" reRender="results"> <apex:param name="sortField" value="Name" assignTo="{!sortField}" /> </apex:commandLink> </apex:facet> <apex:outputField value="{!prof.Name}" /> </apex:column> <apex:column > <apex:facet name="header"> <apex:commandLink value="Professor Email" action="{!toggleSort}" reRender="results"> <apex:param name="sortField" value="Email__c" assignTo="{!sortField}" /> </apex:commandLink> </apex:facet> <apex:outputField value="{!prof.Email__c}" /> </apex:column> <apex:column > <apex:facet name="header"> <apex:commandLink value="Year of Experience" action="{!toggleSort}" reRender="results"> <apex:param name="sortField" value="Year_Of_Experience__c" assignTo="{!sortField}" /> </apex:commandLink> </apex:facet> <apex:outputField value="{!prof.Year_Of_Experience__c}" /> </apex:column> </apex:pageBlockTable> </apex:outputPanel> </apex:pageBlock> </td> </tr> </table> <apex:pageBlock title="Debug - SOQL" id="debug"> <apex:outputText value="{!debugSoql}" /> </apex:pageBlock> </apex:pageBlock> </apex:form> </apex:page> 2. The quick search will have a delete button beside each Professor row. This will delete a particular Professor. Once the Professor is deleted all the students from the Professors Course will get de-enrolled(Removed)  SOLUTION: VisualForce Page Controller public with sharing class Basic2SearchProfessorsDynamically { //the soql without the order and limit private String soql {get; set;} //the row to be delete public String rowToRemove{get; set;} //the collection of professors to display public List<Basic2Proffessor__c> profList {get; set;} //Required Professor(Dummy Professor) Basic2Proffessor__c reqProf = [SELECT Id, Name FROM Basic2Proffessor__c WHERE Name = ‘Professor Required’]; //the current sort direction. default...

Read More
How to Install Multi Utility App From Salesforce AppExchange
Jan24

How to Install Multi Utility App From Salesforce AppExchange

Multi Utility App is a collection of several small and useful tools which help a Manager, sales rep or any Salesforce user in their every workday. All the applications are beautifully placed on the side bar where it is most visible and easily accessible. See how easy it is to install MU app with this video. Salesforce files upload to attachment is made more easy by dragging and dropping files over the record page itself. Very simple and easy to configure with custom or standard objects. Contact us at +1 (415) 830-3899 SKYPE:...

Read More
How to Install Desk Sync On Salesforce CRM
Jan01

How to Install Desk Sync On Salesforce CRM

Migrate your Salesforce Accounts from Salesforce to Desk.com without any hurdles. Desk Sync Salesforce is a very effective tool in migrating small set of records.

Read More