<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Kalen Gibbons &#187; validateNow</title>
	<atom:link href="http://www.kalengibbons.com/blog/index.php/tag/validatenow/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.kalengibbons.com/blog</link>
	<description>The Dead Tree Blog</description>
	<lastBuildDate>Wed, 10 Mar 2010 07:28:09 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0</generator>
		<item>
		<title>Update: Solution to disappearing data in your itemRenderer</title>
		<link>http://www.kalengibbons.com/blog/index.php/2008/12/update-solution-to-disappearing-data-in-your-itemrenderer2/</link>
		<comments>http://www.kalengibbons.com/blog/index.php/2008/12/update-solution-to-disappearing-data-in-your-itemrenderer2/#comments</comments>
		<pubDate>Tue, 09 Dec 2008 03:18:40 +0000</pubDate>
		<dc:creator>Kalen Gibbons</dc:creator>
				<category><![CDATA[ActionScript]]></category>
		<category><![CDATA[Bugs]]></category>
		<category><![CDATA[Flex]]></category>
		<category><![CDATA[How-To]]></category>
		<category><![CDATA[dataChange]]></category>
		<category><![CDATA[itemRenderer]]></category>
		<category><![CDATA[List]]></category>
		<category><![CDATA[validateNow]]></category>

		<guid isPermaLink="false">http://www.kalengibbons.com/blog2/?p=125</guid>
		<description><![CDATA[In a previous post I explained how a rendering bug in Flex was causing items to disappear in an itemRenderer. In the example below, you can see that when you scroll, the items in the list disappear.&#160; This is caused by the varying heights of the elements.&#160; If you explicitly set the height for each [...]]]></description>
			<content:encoded><![CDATA[<p>In a <a title="Disappearing data in your itemRenderer?" href="/blog/post.cfm/disappearing-data-in-your-itemrenderer" mce_href="/blog/post.cfm/disappearing-data-in-your-itemrenderer" target="_self">previous post</a> I explained how a rendering bug in Flex was causing items to disappear in an itemRenderer. In the example below, you can see that when you scroll, the items in the list disappear.&nbsp; This is caused by the varying heights of the elements.&nbsp; If you explicitly set the height for each element or set variableRowHeights to false, then the problem goes away.</p>
<p><center><br />
<iframe height="230" frameborder="0" width="310" src="/assets/pages/itemRenderer1.html"></iframe><br />
</center><br />
<br/></p>
<p>What was causing the problem was apparent but the solution was not.&nbsp; Thankfully, Olivier Lalonde was nice enough to shed some light on an easy fix.&nbsp; The itemRenderer needs to be validated as the user scrolls.&nbsp; So, as Olivier suggests, you simply need to listen for the dataChange event and execute the validateNow() function.</p>
<p>You can see in the example below that the list now has varying row heights&#8230; and the data no longer disappears. NICE!&nbsp; The key point to focus on here is the following line: &lt;mx:VBox <span style="font-weight: bold;" mce_style="font-weight:bold">dataChange=&#8221;validateNow()&#8221;</span> verticalGap=&#8221;0&#8243;&gt;</p>
<div class="code">
<span class="mxmlComponent">&lt;mx:List</span> </p>
<div class="indent">
dataProvider=&#8221;<span class="mxmlString">{</span>myData.item<span class="mxmlString">}</span>&#8220;<br />
variableRowHeight=&#8221;<span class="mxmlString">true</span>&#8220;<br />
alternatingItemColors=&#8221;<span class="mxmlString">['#FFFFFF','#E6EEF3']</span>&#8220;<br />
width=&#8221;<span class="mxmlString">100%</span>&#8220;<br />
height=&#8221;<span class="mxmlString">100%</span>&#8220;<span class="mxmlComponent">&gt;</span>
<p>&nbsp;</p>
<p><span class="mxmlComponent">&lt;mx:itemRenderer&gt;</span></p>
<div class="indent">
<span class="mxmlSpecialString">&lt;mx:Component&gt;</span></p>
<div class="indent">
<span class="mxmlComponent">&lt;mx:VBox</span> verticalGap=&#8221;<span class="mxmlString">0</span>&#8221; dataChange=&#8221;validateNow()&#8221;<span class="mxmlComponent">&gt;</span></p>
<div class="indent">
<span class="mxmlComponent">&lt;mx:HBox&gt;</span></p>
<div class="indent">
<span class="mxmlComponent">&lt;mx:Label</span> text=&#8221;<span class="mxmlString">{</span>data.Label<span class="mxmlString">}</span>&#8221; fontWeight=&#8221;<span class="mxmlString">bold</span>&#8221; <span class="mxmlComponent">/&gt;</span><br/><br />
<span class="mxmlComponent">&lt;mx:Label</span> text=&#8221;<span class="mxmlString">{</span>data.date<span class="mxmlString">}</span>&#8221; color=&#8221;<span class="mxmlString">#999999</span>&#8221; <span class="mxmlComponent">/&gt;</span>
</div>
<p><span class="mxmlComponent">&lt;/mx:HBox&gt;</span><br />
<span class="mxmlComponent">&lt;mx:Text</span> text=&#8221;<span class="mxmlString">{</span>data.description<span class="mxmlString">}</span>&#8221; width=&#8221;<span class="mxmlString">100%</span>&#8221; <span class="mxmlComponent">/&gt;</span>
</div>
<p><span class="mxmlComponent">&lt;/mx:VBox&gt;</span>
</div>
<p><span class="mxmlSpecialString">&lt;/mx:Component&gt;</span>
</div>
<p><span class="mxmlComponent">&lt;/mx:itemRenderer&gt;</span>
</div>
<p>&nbsp;</p>
<p><span class="mxmlComponent">&lt;/mx:List&gt;</span>
</div>
<p><br/><br />
<center><br />
<iframe height="230" frameborder="0" width="400" src="/assets/pages/itemRenderer3.html"></iframe><br />
<center><br />
<br/></p>
]]></content:encoded>
			<wfw:commentRss>http://www.kalengibbons.com/blog/index.php/2008/12/update-solution-to-disappearing-data-in-your-itemrenderer2/feed/</wfw:commentRss>
		<slash:comments>14</slash:comments>
		</item>
	</channel>
</rss>
