13

How about something like this: <apex:page controller="TestScrollController"> <apex:pageBlock > <apex:pageBlockSection title="List Of Numbers" columns="2" > <apex:pageBlockSectionItem id="columnWithScroll"> <apex:outputPanel layout="block" style="overflow: auto; height: 100px;"> ...


10

Your apex:outputPanel with id="Travel_block" is not rendered by default, because the selectedAPTransport variable is not Yes. If it is not rendered, then it is not accessible by ID for actionSupport. You need to wrap this pannel with another panel without layout and rerender it (wrapperPannel in my example): <apex:selectRadio value="{!selectedAPTransport}...


4

Unfortunately, this is how the Visualforce framework works. When you supply an Id value to the rerender attribute, Visualforce finds that element in the DOM and when your request is complete, re-evaluates all HTML in that element and its children. However, if the element was never rendered to the page (as is the case when rendered="false) the framework ...


3

Unfortunately if the Section items are not rendered the first time then they will not be rendered properly. Also note that <apex:pageBlockSectionItem> components can't be rerendered; rerender the child components instead. https://developer.salesforce.com/docs/atlas.en-us.pages.meta/pages/pages_compref_pageBlockSectionItem.htm A work around is to ...


3

pullReportOP appears to be an apex:actionFunction. You need to specify the reRender attribute on this element, not on your a anchor. Despite the JavaScript-y nature of apex:actionFunction, if you don't specify a reRender attribute on it, it will cause a page refresh. Also, you don't need the JS you're using at all, you can simply use an apex:actionStatus, ...


3

You issue is that: You are updating tempContact Your getIsVerified method is using the cont variable Last_Verification_Date__c field which is set on page load You are not updating the cont variable in the verifyContact method You should simply use the cont in the verify method public void verifyContact(){ cont.Last_Verification_Date__c = Date.today(); ...


3

Apex is a case-insensitive language. The identifiers pgm and PGM are the same as far as the compiler is concerned. In addition, there is a key logical error in the code populating this variable. Let's look at what's happening here: PublicGroupsMembers pgm = new PublicGroupsMembers(); This local variable shadows the instance variable PGM. You now cannot ...


3

The problem in your code is that the outputPanel is never rendered by default. That is it ID is not accessible by the actionSupport. To solve this you will need a "wrapper" outputPanel and rerender it. <apex:outputPanel id="otherDRDeliveryFormatPanel" layout="none"> <apex:outputPanel rendered="{!sObjectRFC.Mailshot_delivery_format__c=='Other'}"&...


3

Take a look at the documentation for apex:outputPanel, specifically the layout property`. Right now your markup is generating something like: <table> <tr> <td>Text</td> <span> <td></td> </span> </tr> </table> Try setting the layout property on your apex:...


3

The short answer: change your rerender expression to: rerender="{!$Component.theform.pblock.panel},result" The detailed answer: The problem is your rerender expression, and it has to do with Visualforce's architecture and what I call namespacing components. When you specify a rerender expression like rerender="panel", you're actually specifying an element ...


2

You can do this in the action method you are using to move to the next page: public PageReference next() { if (quo.size() <= 1000) { return Page.TheNextPage; } else { Apexpages.addMessage(new ApexPages.Message(ApexPages.Severity.Info,'Refine search Records should be less than 1000')); return null; // Stay on same page }...


2

Have you tried something like background-image:url({!IF(ISBLANK(AttachmentId), StaticImage, URLFOR($Action.Attachment.Download, AttachmentId)) }) ? (I didn't try it plus it might require some extra apostrophes/quote signs to work!) There's a chance URLFOR doesn't like to be conditionally used like that. But then you should still be able to write ...


2

You can sometimes get away with using immediate="true" on the action element that triggers the reRender (in this case, apex:actionSupport), which suspends Visualforce validations, but usually also has a nasty side effect of skipping controller logic. A better way to handle the scenario is to use an apex:actionRegion that surrounds the apex:actionSupport. ...


2

I think the problem here is to measure the given static height of the iframe, where you can't use javascript to directly read the property because of XSS-limitations, right? If so, we could try to figure out the given height indirectly. If you got the height, you can make your calculation an make relative adjustments to your content. I will not provide full ...


2

EDIT Most importantly, set layout="none" on the outputPanel Also... If you remove all rendered="true" attributes, I think your page should work much better. You don't need to specify this attribute unless you are referring to a variable from a controller or you specifically need to turn off an element. Also, you could simplify your table delimiter items ...


2

You can use the apex:include tag. Please refer to the Salesforce Docs for further details. If you want to dynamically display the pages based on the option selected, here is a simple solution for that: <apex:page> <input type="checkbox" id="option1" onclick="displayPage();">option1</input> <input type="checkbox" id="option2" ...


2

if you want to use rerender you will need a property in your apex controller e.g. Boolean renderPanel {get; set;} Your output panel would be rendered based on this property e.g. <apex:outputPanel id="myPanel" rendered="{!renderPanel}"... Your user's button click should call a controller method to set/unset the property, and then rerender the ...


2

Please Check my blog here. If you have a panel with rendered condition you need to wrap with another panel without any condition and rerender it. <apex:outputPanel id="outerPanel"> <apex:outputPanel rendered="{!someval}" /> </apex:outputPanel> <apex: form> <apex:commandBunnon value ="Test" action ="{!test}" reRended = "...


2

Just rerender the whole section: <apex:pageBlockSection id="someId"> <!-- additional markup --> <apex:pageBlockSectionItem rendered="{!...}"> <!-- additional markup --> </apex:pageBlockSectionItem> <!-- additional markup --> </apex:pageBlockSection>


1

That is not the way to generate the visualforce dynamically, the other simpler way I can think of is to write two output links and render it based on your conditions. Your visualforce page which would work would be <apex:outputPanel rendered="{!showSign}"> <apex:outputPanel rendered="{!IF(signStatus == 'Unsigned', true, false)}"> ...


1

As this apex:inputfield is required <apex:inputfield value="{!ca.Other_Type__c}" required="true" /> So your rerender will work for first time but next time when you rerender it again it will not work unless you fill this required field. You can use apex:pagemessage and rerender it to get same error message on the visualforce page. So now best ...


1

I have looked at your page and have created a controller for this, to test it. If your SetChangeFlag() changes the isExists property, I get the behaviour that you describe. The checkbox stays checked, yet Panel3 is not rendered. Make sure that isExists is not changed or re-render the checkbox as well. If isExists is unchanged in SetChangeFlag(), Panel3 is ...


1

Use apex:pageBlockSectionItem as mentioned by Santanu. Important thing is that apex:pageBlockSectionItem must contain 2 elements, apex:outputLabel and its input. Also you can apply rendered property directly to sectionItem and id for rerender to selectList. Check if following code helps- <apex:pageBlockSection title="Product Request" columns="2" ...


1

For your wrapper outputPanel op1 set layout ="none" and then inside that put your conditionally rendered components. You need the outer panel because if inner components are not rendered when page is constructed server-side, you cant reference those components later. By using wrapper op1 with no layout, you can request a re-render of it and its components ...


1

<apex:pageBlock rendered="{!NOT(isSaved)}"> <apex:pageBlockButtons location="Bottom"> <apex:commandButton rerender="pageblock-one" value="Save" action="{!quicksave}" /> </apex:pageBlockButtons> </apex:pageBlock> . . . <apex:pageBlock id="pageblock-one" rendered="{!isSaved}"> ... </apex:pageBlock> ...


1

You need to clear the previous timer, or you'll get multiple calls, spaced one second after the original event: var timer; function SetTimer(e){ if(timer) clearTimeout(timer); timer = setTimeout("ReviewSearch()",1000); }


1

While the expression IF(opp.Budget_available__c, 'true', 'false') could be replaced with the simpler opp.Budget_available__c either will work. Presumably opp.Budget_available__c is false initially. Are you assuming that when the budget checkbox is changed that the timeline label will render? That will only happen if you add: <apex:inputCheckbox id="...


1

I got the solution. At the end of the save method, Im calling the method which fills my pageblocktable again. This way, after the records are saved, im re fetching the data to display. Because on re-render the records are not refreshed even though the pageblocktable is refreshed.


1

When I have rerender issues, I look for these possible causes The target component id of the rerender is a typo - in your example, you are rerendering caseDisplayPanel and there is a component with that id - so this isn't it The target component being rerendered started off invisible when the page was loaded so it can't be made visible. This is well ...


Only top voted, non community-wiki answers of a minimum length are eligible