Sunday, 30 December 2012

Searching the records Based on Date Selection:-

Here we have a scenario ,i.e Create a Date Field in vf page, create one search button 
When we select the date and hit the button. Then it will search all records which is created
on selected date.


<apex:page controller="exampletest">
<apex:form >
       <script>
        function DynamicDatePicker(d_id)
        {
            DatePicker.pickDate(true,d_id.id,false);
        }
        window.onload=function() {
            // prevent autopup of the date inputfield by the default focus behavoir
            document.getElementById('focusDistraction').focus();
        }
        </script>
      <apex:pageBlock >
            <apex:pageMessages > </apex:pageMessages>
            <apex:pageBlockButtons >
                <apex:commandButton action="{!Schedule}" value="Selected records"/>
            </apex:pageBlockButtons>
               <b>Date </b><apex:inputText value="{!sdate}" id="time" onfocus="DynamicDatePicker(this);" size="20" disabled="false" style="width:80px;"/>                
         
      <apex:pageBlockSection title="Result" columns="1">
          <apex:pageBlockTable value="{!Schedule}" var="a">
              <apex:column headerValue="Account ID" value="{!a.id}"/>
              <apex:column headerValue="Account Name" value="{!a.name}"/>
          </apex:pageBlockTable>
      </apex:pageBlockSection>
   </apex:pageBlock>
</apex:form>
</apex:page>

Apex class:-
-------------
public class exampletest {
    public Date sdate{get;set;}
    Datetime sdt;
    Datetime edt;
    public string var1{get;set;}
    public string var2{get;set;}
    public List<Account> var;
    public void Schedule(){
             Time t=Time.newInstance(0,0, 0, 0);
             Time t1=Time.newInstance(23,59, 59, 50);
             if(sdate==null)
             {
                 ApexPages.addMessage(new ApexPages.Message(ApexPages.Severity.Error,'Scheduled Date/Time is Required!!'));
                 return;
             }
             sdt=Datetime.newInstance(sdate,t);
             edt=Datetime.newInstance(sdate,t1);
             System.debug(edt+'=======sddddddddddddddttttt======'+sdt);
            
              var=[select id,name,createddate from account where createddate <=:edt and createddate>=:sdt];
              System.debug('=======sixzeee======'+var.size());
             if(var.size()!=0){
                 for(integer i=0;i<var.size();i++)
                 {
                    System.debug('======nemes ============='+var[i].name);
                    var1=var[i].id;
                    var2=var[i].name;
                 }
             }
        }
        public List<Account> getSchedule(){
            return var;
        }
    
}

Some Issues:-

--> How to call a component from VF page.

    <c:ComponentName/>



How to insert a field(record) into object from Vf Page.

VF page:-
----
<apex:page controller="commentspage" showHeader="false" sidebar="false" showChat="false" standardStylesheets="false" >
  <apex:form > <br/><br/>
        <div align="center">
         <apex:inputTextarea value="{!CommentText}"/><br/><br/>
         <apex:commandButton value="Save" action="{!save}"/>
        </div>
  </apex:form>
</apex:page>

Apex class
--------
public class commentspage {
    public String CommentText{get;set;}
    Comments__c comm=new Comments__c();
     public void save() {
        comm.Comments_Text__c=CommentText;
        insert comm;
    }
}




-->How to Print Radio buttons list in vertical formate.

<apex:selectRadio id="typical" onclick="alert(this.value);" layout="pageDirection"> <br/>
            <apex:selectOption itemValue="0" itemLabel="Increasing Revenue" />
            <apex:selectOption itemValue="1" itemLabel="Reducing Costs" />
            <apex:selectOption itemValue="2" itemLabel="Reducing Time, Effort or Cycles for Employees" />
            <apex:selectOption itemValue="3" itemLabel="Reducing Time, Effort or Cycles for Assets" />
            <apex:selectOption itemValue="4" itemLabel="Reducing RIsk" />
   </apex:selectRadio>

 
Here Layout=”pageDirection” prints in Vertical formate.
Alert(this.value) gives the alert box popup without.
 


รจ  -->How To make the radio buttons by default true.


We have to mention the lable value on constructor. like see below code.

Vf page:-
    <apex:selectRadio value="{!etime}" layout="pagedirection">
                <apex:selectOptions value="{!etimeslot}"/>
    </apex:selectRadio><p/>
Apex class:-
             public with sharing class Test5 {
     public String etime{get;set;}
     public Test5(ApexPages.StandardController controller) {
        etime='0.30';
    }
public List<SelectOption> getetimeslot() {
         List<selectOption> options = new List<selectOption>();
             options.add(new selectOption('0.30','Half-An-Hour'));
             options.add(new selectOption('1.0','One-Hour'));
         return options;
    } 
                }