Scenario:
Objects having many records.If you want find a record it's too difficult,you need to search each record manually. So i created a search box using visualforce and apex controller to full fill the requirement easy.
Solution:<apex:page standardController="account" tabStyle="account" extensions="accountsearch"> <apex:form > <apex:pageBlock id="block"> <apex:pageBlockSection title="Search" collapsible="false"> <apex:pageBlockSectionItem > <apex:outputLabel for="searchText">Search</apex:outputLabel> <apex:panelGroup > <apex:inputText id="searchText" value="{!searchText}"/> <apex:commandButton value="Search" action="{!search}" status="s"/> <apex:actionStatus id="s" startText="Please wait..."/> </apex:panelGroup> </apex:pageBlockSectionItem> </apex:pageBlockSection> <apex:pageBlockSection title="Results" id="resultsBlock" collapsible="false" columns="1" rendered="{!NOT(ISNULL(searchResults))}"> <apex:pagemessages /> <apex:pageBlockTable value="{!searchResults}" var="acc" > <apex:column value="{!acc.name}"/> <apex:column value="{!acc.billingstate}"/> <apex:column value="{!acc.phone}"/> <apex:column value="{!acc.website}"/> </apex:pageBlockTable> </apex:pageBlockSection> </apex:pageBlock> </apex:form> </apex:page>Controller:
public with sharing class accountsearch { // private ApexPages.StandardController controller {get; set;} public List<account> searchResults {get;set;} public string searchText{get;set;} public accountsearch(ApexPages.StandardController controller) { } public PageReference search() { String qry = 'select Name,billingstate,phone,website from account '+' where name LIKE \'%'+searchText+'%\' order by name '; searchResults = Database.query(qry); if (searchResults.size() == 0){ ApexPages.addmessage(new ApexPages.message(ApexPages.severity.Warning,'No Accounts Found')); } return null; } }Result: