Wednesday 15 February 2012

Search records from object based on name

Hi Friends,

     Now you can search record based on their record names. Just Enter record name and click search button to get records from particular object.Here I am considering Lead Object and searching records from Lead.

*****Visual Force Page********

<apex:page controller="theController">
    <apex:form >
        <apex:pageBlock mode="edit" id="block" title="Search">
            <apex:pageBlockSection >
                <apex:pageBlockSectionItem >
                    <apex:outputLabel for="searchText">Search Text</apex:outputLabel>
                    <apex:panelGroup >
                        <apex:inputText id="searchText" value="{!searchText}"/>
                        <apex:commandButton value="Go" action="{!doSearch}" />
                    </apex:panelGroup>
                </apex:pageBlockSectionItem>
            </apex:pageBlockSection>
                <apex:actionStatus id="status" startText="requesting..."/>
            <apex:pageBlockSection title="Results" id="results" columns="1">
                <apex:pageBlockTable value="{!results}" var="l" rendered="{!NOT(ISNULL(results))}">
                    <apex:column value="{!l.name}"/>
                    <apex:column value="{!l.email}"/>
                    <apex:column value="{!l.phone}"/>
                </apex:pageBlockTable>
            </apex:pageBlockSection>
        </apex:pageBlock>
    </apex:form>
</apex:page>

**********Controller for Above Code********

public class theController {
String searchText;
List<Lead> results;
public String getSearchText() {
      return searchText;
}
public void setSearchText(String s) {
      searchText = s;
}
public List<Lead> getResults() {
      return results;
}
public PageReference doSearch() {
      results = (List<Lead>)[FIND :searchText RETURNING Lead(Name, Email, Phone)][0];
      return null;
}
}
******************************
Please let me know any Issues....

1 comment: