You need to sign in to do that
Don't have an account?
TheMythical
Can we pass parameters from visualforce to apex?
I want to do something like this:
rendered="{!confirmMessagesExist('CONFIRM')},
I have a function defined in Apex class called getConfirmMessagesExist.
But each time I save the page, it says can not find function name confirmMessagesExist. Any Idea?
Can we pass parameters from visualforce to apex? Thanks!
You can use the param apex tag to pass the parameter from Visualforce to apex. Heres an example:
<apex:actionSupport event="onclick" action="{!findDates}" reRender = "Dates ,TranscriptPanel"> <apex:param name="paramid" value="{!UserLists.UserId}"/> </apex:actionSupport> //////////// Heres the controller part // Inside the function findDates() String msgId = :ApexPages.currentPage().getParameters().get('paramid')
You cannot pass parementers like the way you have done.. even though that sounds a sensible format that is not supported as of now..
But as Rajesh has said you can use <apex:param> to pass parameters
This is a wrong way of calling a apex method
Attibute rendered can only use formula functions/OR apex class properties{getter/setter}
available within salesforce
you can use it like this wasy as per your requirement
rendered = "{!IF(ConfirmMessagesExist == 'CONFIRM' ,true,false)}"
not ths will work and will also not give you any error like can not find function name confirmMessagesExist.
Happy coding....
Here is the thing, I want to write a common function to decide whether a particular type of message exists and I will use this function in the visualforce page many times, so I need to pass the message type to this common function.
I can't use 'rendered={!IF(message=='CONFIRM', true, false)}' because the message should return a value based on the parameter value. Thanks!
I have similar situation. Can you tell how to use the actionSupport with commandButton? I have pageBlock that displays the product with its productcode along with remove button for each row.
When I hit remove, I want ProductCode of the row to pass to Controller, but just can't do it.
VF:
<apex:column headerValue="Remove">
<apex:commandButton value="Remove" action="{!removeProduct}" />
<apex:actionSupport event="onclick" action="{!removeProduct}" >
<apex:param name="removeProductCode" value="{!s.pbEntry.ProductCode}"/>
</apex:actionSupport>
</apex:column>
Controller:
//Remove the product from selected list
public PageReference removeProduct(){
String removeProductCode = ApexPages.currentPage().getParameters().get('removeProductCode');
system.debug(removeProductCode);
return null;
}
in debug log I do not see any value for the ProductCode. Thanks.
Hello Mitesh,
One problem that i could see in your code is that the apex:param tag does not work with apex:commandbutton. This is a long known bug that has been existing for a while... For your specific requirement you need not even have a actionsupport..
Try using a apex:commandlink instead of apex:commandbutton...
If you want the link to look like a button, here is the workaround
no wonder it was not working, I fig'd to use a link instead of button yday. I will try the work around for button, will be helpful in future.. do you know any fix for commandbutton and param ?? thank you ..