Skip to main content
1 of 2

Vfpage code: <apex:page controller="DocumentsSearchController" tabStyle="Documents__c" showHeader="false" sidebar="false"> <apex:form id="theForm"> <apex:sectionHeader title="Documents" /> <apex:pageBlock id="block"> <apex:outputLabel for="searchText">Search Text : </apex:outputLabel> <apex:panelGroup > <apex:inputText id="searchText" value="{!searchText}"/> <apex:commandButton value="Go" action="{!search}" rerender="theForm" status="status"/> </apex:panelGroup>

<apex:actionStatus id="status" startText="requesting..."/> <apex:pageBlockSection title="Results" id="results" columns="1" > <apex:pageBlockTable value="{!documentList}" var="doc" id="thePageBlockTabele"> <apex:column headerValue="Action"> <apex:commandLink value="View" action="/{!doc.id}"/> </apex:column> <apex:column value="{!doc.Name}"/> <apex:column value="{!doc.Description__c}"/> </apex:pageBlockTable> </apex:pageBlockSection> </apex:pageBlock> </apex:form> </apex:page>

contoroller:

public with sharing class DocumentsSearchController { //private ApexPages.StandardController controller {get; set;} public List<Documents__c> documentList {get;set;} public string searchText {get;set;} public Boolean ShowPgTable{set;get;}

public DocumentsSearchController ()
  {
    documentList = new List<Documents__c>();
    if(documentList.isEmpty())
      search();
  }

// fired when the search button is clicked
public PageReference search() {
String qry = 'select id, Name, Description__c  from Documents__c ';
if(searchText!=null )
  qry += ' where Name LIKE \'%'+searchText +'%\' order by Name ';
qry+='LIMIT 1000';
documentList = Database.query(qry);
System.debug(qry);
System.debug(documentList.size());
ShowPgTable=(!documentList.isEmpty());
return null;

}

}

and the 2points above mentioned are solved and working fine.