Usually, you renderers get called from within updateDisplayList and invalidateList does not work from within UDL otherwise it could repeat that cycle forever. There's always callLater, but I'd first wonder why the Combo doesn't enable properly and needs the redraw.
________________________________ From: [email protected] [mailto:[EMAIL PROTECTED] On Behalf Of Tracy Spratt Sent: Wednesday, November 28, 2007 9:21 PM To: [email protected] Subject: [flexcomponents] How to call invalidateList() from within a renderer I want my ComboBox itemRenderer to be disabled based on a "disabledFlag" property in the dataProviderItem. I have a CheckBox renderer in another column that updates that property. The ComboBox renderers display fine on initialize, with the correct rows disabled But when I click the checkbox, even though the code in the CBO renderer's set data() and commitProperties runs correctly and sets the Combobox enabled property correctly, the ComboBox interactivity is not correct until something redraws the list, like scrolling. I can make it work with an external button that calls invalidateList() on the DataGrid, but I want to do that from within the renderer. I have tried: /** called from commitProperties */ private function setEnabled():void { this.enabled = !_oItem.disabledFlag; DataGrid(_dgListData.owner).invalidateList(); }//setEnabled But this does not seem to do anything. Where, when and how should I make the invalidateList call from within my renderer?
