Are you changing the visibility of the entire renderer or just a checkbox inside it? Renderers on the recycle list get visible=false and set back to true when used again. If you completely hide a renderer, I'm not sure what would happen.
Other than that, I would find a way to introspect the renderers and see if they did compute visible correctly for their data. It seems odd that your lookup of data.val is based on a column. From: [email protected] [mailto:[EMAIL PROTECTED] On Behalf Of Simon Bailey Sent: Sunday, November 23, 2008 11:24 AM To: [email protected] Subject: Re: [flexcoders] DataGrid itemRenderer Woes Ok I have stopped all the errors and essentially integrated your (Alex's) logic into my application after some serious hair pulling. The responsibility lies now with the method below for showing or hiding the check box: override protected function commitProperties():void { super.commitProperties(); var row:int = listData.rowIndex+1; visible = false; for( var i:int = 0; i < data.ff.length; i++ ) { if( data.val[listData.columnIndex-1] != undefined && data.val[listData.columnIndex-1].option[i] == row ) { visible = true; } } if (owner is ListBase) selected = ListBase(owner).isItemSelected(data); } And dammit if its still doing exactly the same as before?!? On 23 Nov 2008, at 04:48, Alex Harui wrote: Read the item renderers section on my blog (blogs.adobe.com/aharui). Start with the oldest posting. From: < /span>[email protected] [mailto:[EMAIL PROTECTED] On Behalf Of Simon Bailey Sent: Saturday, November 22, 2008 2:37 PM To: [email protected] Subject: [flexcoders] DataGrid itemRenderer Woes Hi, I have seen through google that this has been an issue but implementing various solutions still l! eaves my existing problem. Essentially I have a DataGrid with a custom itemRenderer displaying CheckBoxes. Within the renderer I am running a comparison on a value within the renderers data i.e. data.my_val and the current grid row and column values. Depending on whether the data value equals a specific row I show or hide the check box. I achieve this by running the comparison logic with the overridden updateDisplayList method below which works fine until scrolled. override protected function updateDisplayList( unscaledWidth:Number, unscaledHeight:Number ):void { super.updateDisplayList( unscaledWidth, unscaledHeight ); var row:int = listData.rowIndex+1; for( var! i:int = 0; i < data.ff.length; i++ ) { if( data.val[listData.columnIndex-1] != undefined && data.val[listData.columnIndex-1].option[i] == row ) { btn.visible = true; } } } The issue is on scroll all of the check boxes are displayed/hidden incorrectly and the whole grid messes right up! Any ideas pls would be appreciated. Si

