3

i have one apex:component and added it into visualforce page. and from there i want to refresh or say rerender that component based on contact id.

following logic i wrote but its not getting updated based on contact id.

visual force page :

<apex:pageBlockSectionItem >
       <apex:outputLabel value="Who to Bill"/>
               <apex:selectList size="1" value="{!whoToBillSelected}">
                        <apex:selectOptions value="{!contacts}"/>
                        <apex:actionSupport event="onchange" action="{!selectGuestOrMember}" rerender="updateThis"></apex:actionSupport>
               </apex:selectList>
</apex:pageBlockSectionItem>
<apex:outputPanel id="updateThis" >
        <apex:outputLabel value="Payment Method's"/>
            <c:C62PaymentComponent mode="Choose" showTemporary="false" sObjectId="{!contact_id}">
            </c:C62PaymentComponent>
{!contact_id}
</apex:outputPanel>

so when i select any other value from "who to bill" select list i want to refresh "updateThis" output panel. now i have added variable "contact_id" which gives us contact id dynamically. i printed that as well after component. same variable i passed into component as well. and when i change the value from list then this variable print id of whatever contact i select but component is not getting updated. i want to know if i am doing anything wrong here?

thank you in advance.

1 Answer 1

1

actually i couldnt find any answer to refresh only component so what i did is used page reference and refreshed the page with setRedirect = false.

this way i got whole page refreshed with no data lost which is already filled on that page and i got to refresh component as well yehheee... :D

following i did in controller when action support call "selectGuestOrMember" this function.

public PageReference selectGuestOrMember(){
        PageReference pageRef = new PageReference('/apex/page');
        pageRef.setRedirect(false);
        pageRef.getParameters().put('id',ApexPages.currentPage().getParameters().get('id'));
        return pageRef;
}

and it worked for me..

You must log in to answer this question.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.