• Kanika Dua
  • NEWBIE
  • 70 Points
  • Member since 2015

  • Chatter
    Feed
  • 2
    Best Answers
  • 0
    Likes Received
  • 0
    Likes Given
  • 1
    Questions
  • 25
    Replies
I've read a dozen or so questions and answers related to changing the color of a button in a VF page.  Most suggest using a style, some suggest using javascript.  Neither are working for me.  Are there other ways to change the color of an Apex:commandButton?

Javascript:
<script>
        function setColor(btn,color){
        var count=1;
        var property = document.getElementById(btn);
        if (count == 0){
            property.style.backgroundColor = "#FFFFFF"
            count=1;
        }
        else {
            property.style.backgroundColor = "#000000"
            count=0;
        }
    }
    </script>



VF Page button:
<apex:commandButton id='myButton'
                                    style="position:fixed;
                                           bottom:0px;
                                           right:0px;
                                           padding:5px 10px;
                                           color:#FFFFFF;
                                           border-color:#6C8049;
                                           background:#89B32B;
                                           font-weight:bold;
                                           font-size:13px;
                                           line-height:18px;"
                                    onmouseover="setColor('myButton','#A2CA45');"
                                    onmouseout="setColor('myButton','#89B32B');"
                                    value="Create" title="Create" action="{!createCase}" />

This is almost the last component of a project, I'd love to wrap it up soon.

 
Hi, I am new to salesforce and  have some confussion,
what is the exact difference between future annotation and batch class? which case we would prefer future annotation and which case we would prefer batch class?

Thnaks in advance
I Have two Custom Object Named Confrence_Room and Confrence_Room_Request. I want to have a functionality If a User has booked a confrence room for a particular date/time another user is not capable of booking confrence room for same date/time.I am Unable to figure out how to implement this.Is there any Configration method I can use or I have to write code.
Thanks in advance
Hi All, 

I am using a Force.com Site to host some forms for our customers, using multiple VF Pages. I have 2 Forms that are working fine. I have added a 3rd form (VF Page) to the site for uploading an attachment and creating a case. The Page loads correctly, but when clicking Save it displays an Authorisation Required error. 
When previewing the page on it's own, directly in SF rather than the site, the page works as expected. 

Any thoughts on what this could be?

Thanks in Advance
Hi, 
I have created a Trigger on the Child Object having 2 parent objects. Below is the Relationship
  • evt__Attendee__c - Child Object 
  • evt__Special_Event__c - Parent Object
  • Contacts - Parent Object 
Both the parents Object (Special Event and Contacts) has a realtionship with the child Object (Attendee)

So, I want to do is to create a trigger after the attendee Record is created. The tirgger will look for some fields on the Special Events and Contacts and if the criteria is met then update some fields on the Contact Object.

I have created the trigger but it looks like not working. It is not giving me any error also. 

Below is the code of the Trigger.  


 trigger AttendeeITK on evt__Attendee__c (after insert)
{

    List<Contact> contactsToUpdate = new List<Contact>();
    Set<Id> ContactIds = new Set<Id>();
    Set<Id> SEIds = new Set<Id>();

    for(evt__Attendee__c attendee :trigger.new)
    {
       ContactIds.add(attendee.evt__Contact__c);
       SEIds.add(attendee.evt__Event__c);
    }
     
    Map<Id, Contact> ContactMap = new Map<Id, Contact>([SELECT Id,Assignment_Queue__c,Law_Student__c,Stage__c,Contact_Type__c FROM Contact WHERE Id IN :ContactIds]);
    Map<Id, evt__Special_Event__c> SEMap = new Map<Id, evt__Special_Event__c>([SELECT Id,Non_Recruitment_Event__c FROM evt__Special_Event__c WHERE Id IN :SEIds]);
    
    for(evt__Attendee__c attendee : System.Trigger.New)
    {          

        Contact tempContact = ContactMap.get(attendee.evt__Contact__c);
        evt__Special_Event__c tempSE = SEMap.get(attendee.evt__Event__c);
             
        if (tempSE.Non_Recruitment_Event__c == False && 
            tempContact.Assignment_Queue__c == null && 
            tempContact.Law_Student__c == False && 
            tempContact.Stage__c == null &&
            tempContact.Ownerid == '005G0000002wYvi' &&
            (tempContact.Contact_Type__c != 'Faculty' || tempContact.Contact_Type__c == null))   
        {
           
            tempContact.Assignment_Queue__c = 'Inside Track Graduate';
            tempContact.Stage__c = 'New';
            tempContact.Lead_Status__c = 'Not Attempted';
            tempContact.Contact_Type__c = 'Prospect';
            tempContact.Most_Recent_Inquiry_Date__c = date.today();
            tempContact.Non_Law_Student__c = True;
            contactsToUpdate.add(tempContact);
        }               
    }
     
          update contactsToUpdate; 


I will really appreciate if somebody can help me in developing the right code. 

Thanks 
I've read a dozen or so questions and answers related to changing the color of a button in a VF page.  Most suggest using a style, some suggest using javascript.  Neither are working for me.  Are there other ways to change the color of an Apex:commandButton?

Javascript:
<script>
        function setColor(btn,color){
        var count=1;
        var property = document.getElementById(btn);
        if (count == 0){
            property.style.backgroundColor = "#FFFFFF"
            count=1;
        }
        else {
            property.style.backgroundColor = "#000000"
            count=0;
        }
    }
    </script>



VF Page button:
<apex:commandButton id='myButton'
                                    style="position:fixed;
                                           bottom:0px;
                                           right:0px;
                                           padding:5px 10px;
                                           color:#FFFFFF;
                                           border-color:#6C8049;
                                           background:#89B32B;
                                           font-weight:bold;
                                           font-size:13px;
                                           line-height:18px;"
                                    onmouseover="setColor('myButton','#A2CA45');"
                                    onmouseout="setColor('myButton','#89B32B');"
                                    value="Create" title="Create" action="{!createCase}" />

This is almost the last component of a project, I'd love to wrap it up soon.

 
Hello guys,
I'm trying to develop my first visualforce page. I would like to have some text box and a button that, on the click with a method, take the text in the boxes and call an external method to cuncatenate them in a new page. 
How can I do? 
Thank you very much for the time that you will spend for me.
 
  • November 30, 2016
  • Like
  • 0
Hi, I am new to salesforce and  have some confussion,
what is the exact difference between future annotation and batch class? which case we would prefer future annotation and which case we would prefer batch class?

Thnaks in advance
Hi Everyone,

I have a force.com site page named "my_merchent_c" and this page has two custom fields,one is "Product Listing" and other is "Super Product listing".
I want to get these two fields values from "my_merchent__c" site page through URL and display on "MyPage__c" VF page.

I hope,anyone can help me..

Thanks,
Ghulam
What are test cases? Give an example.
Hi,

I want to get email template as a field in custom object(using lookup relationship). Is it possible? If it is how can i?
Hi salesforce experts,

I here by requesting you to  please help me in fixing following bugs.

current functionality:
==============
1.)If I deselet account records still opportunities and contact records are displaying.

required functionalitiy:
===============
1.)If I deselect account records related opportunities and contact records need to be disappear.
2.)If I select account records,related opportunities and contact records need to be display.

And also plese fix following bugs,

-->Even though I didn't select any account and selected opportunites and clicked on submit it is showing error message. If I select any account and select opportunites check box and click on submit, then only it should show the error message.

-->I need to display a blank table with "No Opportunites Found" message in case the selected accounts doesn't have any opportunities.
        The same is the case with contacts.
-->If click on next button  in accounts table, still It is displaying opportunities and contacts even though I didn't select anything.
       please help me to fix above bugs.

I here by providing code
==================
-->Apex class
--------------------
public class Acc_con_Opp_Details
{
    
    //list of collection of the wrapper class object
    public list<accountwrapper> actwrap           {set;get;}
    //list of collection of Account,contact and opportunity objects
    public list<Account>        accounts          {set;get;}
    public list<Account>        acts              {set;get;}
    public list<opportunity>    opts              {set;get;}
    public list<opportunity>    sopts             {set;get;}
    public list<contact>        cnts              {set;get;} 
    public list<contact>        snts              {set;get;}
    public boolean oppbox                         {set;get;}//used as check box for opportunity 
    public boolean conbox                         {set;get;}//used as check box for contact
    public boolean flag1                          {set;get;}//used in account page block  
    public boolean flag2                          {set;get;}//used in contact page block 
    public boolean flag3                          {set;get;}//used in opportunity page block
    //this variables are used for pagination purpose
    private integer totalRecs = 0;//stores no.of total records   
    private integer index = 0;//used for tracking offset
    private integer blockSize =5;//for setting size of page
   
    //in this constructor we are setting values to boolean values
    public Acc_con_Opp_Details()
    {
    flag1=true;
    flag2=false;
    flag3=false;
        totalRecs = [select count() from Account];//returns total no.of account records 
       getactwrap();//calling getactwrap method.
    }
    //this method displays first five records
    public void beginning()
    {
        oppbox=false;
        conbox=false;
        index = 0;
        getactwrap();
    }
    //this method displays prevoius records
     public void previous()
    {
        oppbox=false;
        conbox=false;
        index = index-blockSize;
        getactwrap();
    }
    //this method displays next records
   public void next()
    {
        oppbox=false;
        conbox=false;
        index = index+blockSize;
        getactwrap();
    }
    //this method displays last remaining records
 public void end()
    {
        oppbox=false;
        conbox=false;
        index = totalrecs - math.mod(totalRecs,blockSize);
        getactwrap();
    }  
    //this variable is used to enable or disable first and previous buttons
 public boolean prev{get
    {
        if(index == 0)
        return true;
        else
        return false;
    }  set;}
    //this variable is used to enable or disable next and last buttons
 public boolean nxt{get
    {
        if((index + blockSize) > totalRecs)
        return true;
        else
        return false;
    }   set;}
    //used to display opportunities and contacts w.r.t selected accounts
    public void  submit()
    {
        flag1=false;
        acts=new list<Account>();
        for(accountwrapper aw:actwrap)
           {
            if(aw.acflag){
                acts.add(aw.acc);
           }
    }
        
      //if we select contact check box,then it displays contacts for selected accounts 
      if(conbox)
      {
              snts=[select id,lastName,Department,account.name from contact where accountid IN:acts];
              if(snts.size()>0)
              {
              flag3=true;
              }
              else
              {
              flag3=true;
              ApexPages.addmessage(new ApexPages.message(ApexPages.severity.WARNING,'contact records are not found for selected Accounts.'));
              }
         } 
      //if we select opportunity check box,then it displays opportunities for selected accounts
      if(oppbox)
        {       
            
      opts=[select id,name,stageName,leadsource,account.name from opportunity where accountId IN:acts];
      if(opts.size() >0)
      {
      flag2=true;
      }
      else
       {
       flag2=false;
       ApexPages.addmessage(new ApexPages.message(ApexPages.severity.WARNING,'opportunity records are not found for selected Accounts.'));
       }
   } 
    }
    //hides contacts and shows opportunities related to accounts,when ever user selects only opportunities check box
    public void Hideandshowopp()
    {
   if(oppbox)
    {
     submit();
    }
    else
    {
     flag2=false;
    }
  }
 //hides opportunities and shows contacts related to accounts,when ever user selects only contats check box
  public void HideandshowCon()
    {
    if(conbox)
    {
     submit();
    }
    else
    {
     flag3=false;
    }
 }
  //This method uses a simple SOQL query to return a List of Accounts
     public void getactwrap(){
         accounts = Database.Query('SELECT id,Name,phone FROM Account LIMIT :blockSize OFFSET :index');
         actwrap=new list<accountwrapper>();
       // As each Account is processed we create a new accountwrapper object and add it to the wrapper class(accountwrapper) list.
         for(account a:accounts)
        {
            actwrap.add(new accountwrapper(a));
        }
    }
    // this method  uses dml operation to edit the existing opportunities values or to insert new oppt values
    public void saveopps()
    {
        list<opportunity> opps=new list<opportunity>();
        opps.addAll(opts);
        upsert opps;
    }
    //his method  uses dml operation to edit the existing contact values or to insert new contact values
    public void savecons()
    {
       cnts = new list<contact>();
        cnts.addall(snts);
        upsert cnts;
    }
 //This is wrapper class which is collection of other class instances
  //here  wrapper class contains both the standard salesforce object Account and a Boolean value acflag   
 public class Accountwrapper{
        public account acc{set;get;}
        public boolean acflag{set;get;}
             //In this contructor When we create a new accountwrapper object we pass a Account that is set to the acc property.
             // We also set the boolean value to false
        public accountwrapper(account a){
            acc=a;
            acflag=false;
        }
   }
}
vf page
---------

<apex:page controller="Acc_con_Opp_Details" showHeader="false" docType="html-5.0">
<apex:form >

    <!--This block dispalying account record details-->
    <apex:pageblock rendered="True">
    <apex:pageMessages ></apex:pageMessages>
    <apex:pageblocktable value="{!actwrap}" var="a">
        <apex:column >
    <apex:facet name="header" >Select</apex:facet>
             <apex:inputCheckbox value="{!a.acflag}"/>
        </apex:column>
        <!-- displays id,name and phone number for accounts-->
        <apex:column value="{!a.acc.id}"/>
        <apex:column value="{!a.acc.name}"/>
        <apex:column value="{!a.acc.phone}"/>
         </apex:pageblocktable>
        <!-- this buttons are used to paginate account records-->
        <apex:pageblockButtons >
            <!--displays first five records-->
            <apex:commandButton value="first"  action="{!beginning}" disabled="{!prev}"/>
            <!--displays previous records-->
            <apex:commandButton value="previous"  action="{!previous}" disabled="{!prev}"/>
             <!--displays previous  next records-->
            <apex:commandButton value="next"  action="{!next}" disabled="{!nxt}"/>
            <!-- displays last records-->
            <apex:commandButton value="last"  action="{!end}" disabled="{!nxt}"/>                                    
        </apex:pageblockButtons>
         <!--check boxs for opportunities and contacts-->
     <center> 
         <apex:inputCheckbox value="{!oppbox}">
          <!--On check/uncheck of opp check box it records appear/disapper-->
     <apex:actionSupport event="onchange" action="{!Hideandshowopp}"/>
     </apex:inputCheckbox>Opportunities&nbsp;&nbsp;&nbsp;
         <apex:inputCheckbox value="{!conbox}">
             <!--On check/uncheck of contact check box it records appear/disapper-->
         <apex:actionSupport event="onchange" action="{!HideandshowCon}"/>
         </apex:inputCheckbox>Contacts&nbsp;&nbsp;&nbsp;
        <apex:commandButton value="submit" action="{!submit}"/>
     </center>
    </apex:pageblock>
    
    <!--this block displays opportunity details-->
    <apex:pageblock rendered="{!flag2}" id="block" >
      <apex:pageblocktable value="{!opts}" var="o">
        
        <apex:column >
            <apex:facet name="header">Opportunity Id</apex:facet>
            <apex:commandlink value="{!o.id}" Action="{!URLFOR($Action.opportunity.edit,o.Id)}"/>
        </apex:column>
        <apex:column value="{!o.account.name}" />
        <apex:column >
            <apex:facet name="header">Opportunity Name</apex:facet>
       <apex:inputtext value="{!o.name}" />
            </apex:column>
        <apex:column >
           <apex:facet name="header">Opportunity Stage</apex:facet> 
       <apex:inputtext value="{!o.stagename}"/>
        </apex:column>
       <apex:column >
         <apex:facet name="header">Opportunity Leadsource</apex:facet> 
        </apex:column>
        </apex:pageblocktable>
        <apex:commandButton value="Save Opportunities" action="{!saveopps}"/>
    </apex:pageblock>
    
    <!--this block is used for displaying contact details -->
     <apex:pageblock rendered="{!flag3}" id="con">
     <apex:pageblocktable value="{!snts}" var="c">
        <apex:column >
            <apex:facet name="header">Contact Id</apex:facet>
            <apex:commandlink value="{!c.id}" Action="{!URLFOR($Action.contact.edit,c.id)}"/>
        </apex:column>
         <apex:column value="{!c.account.name}"/>
        <apex:column >
             <apex:facet name="header">Contact Lastname</apex:facet>
            <apex:inputtext value="{!c.lastname}"/>
        </apex:column>
        <apex:column >
        <apex:facet name="header">Contact Department</apex:facet>
            <apex:inputtext value="{!c.Department}"/>
        </apex:column>
        </apex:pageblocktable>
         <apex:commandButton value="Save Contacts" action="{!savecons}"/>
    </apex:pageblock>
   </apex:form>
</apex:page>
 
Here is my vf page code:

<apex:inputText value="{!searchString}" id="txtbxdo" onkeydown="if(event.keyCode==13){this.blur();}else{resetTimer();}" style="width:200px"/>

Here is my controller class

public with sharing class opportunityProductEntryExtension {

    public String searchString {get;set;}
public String getsearchString(){
        return 'True';
    }
    
    public String setsearchString(String searchString){
        if (this.searchString==searchString) {
            return 'true';
    }
        else {
            return null;
        }
        
    }