Hi,

I would like to have the dataprovider of a combobox be an array of a
custom class.  I want to encapsulate a bunch of values/functions into
a class called MyClass.

I see you can have a simple Object array in mxml as the dataprovider
like this:

<mx:dataProvider>
         <mx:Array>
             <mx:Object label="1234567890" />
             <mx:Object label="The quick brown fox" />
             <mx:Object label="Lorem ipsum" />
         </mx:Array>
</mx:dataProvider>


BUT...I want the dataprovider to be an array of MyClass.....and that
MyClass has a public 'label' property (just like the generic Object
array has above) and a bunch of other properties and methods specific
to MyClass.

The basic definition of MyClass is something like this:

  MyClass {
    var label:String = null;
    var myField:String = null;
    var previewImg:Class = null;
  }

At runtime, I create an Array called myArray and then new-up instances
of MyClass, add values to it and then push it onto the myArray.  I
then set this myArray as the dataprovider for a combobox.  I drop down
the combobox and it has the correct number of items, but the labels
are all [object MyClass]   I would have expected it to have the
'label' value from each of my MyClass instances in myArray, and when I
get the selectedItem from the combobox, I would have access to the
myClass instance where I could then get access to other myClass
attributes/functions.

Is this the right approach to have a custom class as the 'data' object
of a combobox item?

Any ideas?

Thanks!

A combobox has a 'label' and a 'data' value.  I would like the data to
be a custom class that encapsulates a bunch of values.

For example:



Reply via email to