You need to sign in to do that
Don't have an account?
Assign controller variable value in Visualforce page on page load
We're using Visualforce pages more and more here, but we've been working around something for a while that I think is probably pretty simple.
Many times, we have multiple visualpage pages that use different controllers (or extensions) based on the record type, or how many records we want to pull.
I see there are several different examples using javascript / params to have a user pass a variable value to a controller - we've been successful there. But I would simply like to set the variable value when the page loads, so for instance if they go to a page that is supposed to display only 30 records, verses a page that is supposed to display 180 records. Is there a simple way to pass this value to a controller variable using the <apex:page action=""> perhaps?
Hi,
You can transfer records count to your VF page through url parameters. Something like /apex/YourVFPage?recordsCount=120
And then in controller you can get the records count by this:
Hope it will help.
Regards,
Mikhail
All Answers
This is a really handy place to use Custom Settings. You can set up a Custom Settings "object" for view preferences or whatever, and call them up inside the controller without spending a query. You can specify Custom Settings according to User, and even share preferences across pages.
This is one of those underutilized areas of Salesforce, IMO. Otherwise, all that trivial data gets stuck on some SObject somewhere, or just not saved because it's seemingly trivial. But storing view preferences goes a long way toward making someone's experience better, without really doing anything complicated.
Let me know if you would like examples; the Developers Guide does a pretty good job of explaining.
Jeremy
After a little research on Custom Settings, I'm thinking this is a great feature that I wasn't aware of at all. I'm not sure if it's going to help in this instance though, because I'm still trying to set the variable value based on the page a User goes to, not the Users themselves.
For example:
My elders would like one custom button on a page layout that pulls up a visualforce page report that shows 30 associated records, and renders to pdf. No problem. They'd also like another button next to it that pulls up the same visualforce page, except showing 180 records, and renders to pdf. Right now I'm stuck with using two different pages (that's ok), but two different controller extensions just to specify how many records to pull.
Am I missing your point of using Custom Settings?
Hi,
You can transfer records count to your VF page through url parameters. Something like /apex/YourVFPage?recordsCount=120
And then in controller you can get the records count by this:
Hope it will help.
Regards,
Mikhail
Ha - too good to be true. Thanks - that will work perfectly!!