You are right, I was so close I jumped to a conclusion.  The ComboBox
should enable properly without another redraw.  I will try to find out
why.

 

The renderer subclasses an extended ComboBox with selectedValue
functionality, perhaps that is causing a problem.  I'll try this with
the stock CBO to narrow the variables.

 

Any other suggestins will be welcome.

 

Tracy

 

________________________________

From: [email protected]
[mailto:[EMAIL PROTECTED] On Behalf Of Alex Harui
Sent: Thursday, November 29, 2007 12:43 AM
To: [email protected]
Subject: RE: [flexcomponents] How to call invalidateList() from within a
renderer

 

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?

 

Reply via email to