You need to sign in to do that
Don't have an account?

Summer 08 rerendering issue with items inside a pageBlockSectionItem
I put together the following page/controller as a simple example of the issue that I am seeing. When I run the following in my developer org (Pre Summer 08), The Visualforce page renders as I would expect, and when I click the "Show Tests" button, both Test 1 and Test 2 are displayed.
In our Sandbox with Summer 08, only Test 1 displays when the button is pressed. For some reason, Test2 is either not being rerendered, or the if statement in the render attribute is not working as it did previously. If I take test2 out of the pageBlockSectionItem, it renders correctly.
This is a simple example set of code to reproduce the issue. I have a number of much more complex Visualforce pages that depend on the ability to be able to rerender items inside of pageBlockSectionItems similar to this.
Does anyone have any ideas on how to resolve the behavior so that the item inside the pageBlockSectionItem rerenders as expected, like the Pre Summer 08?
Thanks!
Jon Keener
jhkeener@ashland.com
Page
Code:
<apex:page controller="TestController1" tabStyle="Account"> <apex:form> <apex:pageBlock id="block" title="My Content"> <apex:pageBlockSection title="My Content Section" columns="1"> <apex:commandButton id="ShowTests" value="Show Tests" action="{!RunShow}" rendered="{!if(TestsVisible=false,'true','false')}" rerender="block,Test1,Test2,ShowTests,HideTests"/> <apex:commandButton id="HideTests" value="Hide Tests" action="{!RunHide}" rendered="{!if(TestsVisible=true,'true','false')}" rerender="block,Test1,Test2,ShowTests,HideTests"/> <apex:outputText id="Test1" value="Test 1" rendered="{!if(TestsVisible=true,'true','false')}"/> <apex:pageBlockSectionItem> <apex:outputText id="Test2" value="Test 2" rendered="{!if(TestsVisible=true,'true','false')}"/> </apex:pageBlockSectionItem> </apex:pageBlockSection> </apex:pageBlock> </apex:form> </apex:page>
Controller
Code:
public class TestController1 { Boolean TestsVisible = false; public boolean getTestsVisible() { return TestsVisible; } public void RunShow() { TestsVisible = true; } public void RunHide() { TestsVisible = false; } }
Best I can say is that I'll get this fixed, and you should see it in the next week or so. Sorry for any inconvenience.
Jill