Hey,

I suggest creating new ArrayCollection instance in your set data function
as follows -
_ArrayCol = new ArrayCollection(someGlobalArray.source);

On the other hand, I don't really understand what you are trying to do here.
The item-renderer should get as data a single object (instance of an item
from the externally filtered collection).

You can try the solution I first suggested and if it doesn't help, explain
more about what you are trying to do.

Good luck,
Evyatar

On Wed, Apr 1, 2015 at 11:09 AM, mark goldin <[email protected]> wrote:

> I am trying to come up with the following solution.
> My datagrid's data has a few fields that would filter an ArrayCollection to
> a single element.
> That single element has a Bitmap data to show an image in a column.
> Here is some relevant code:
> private var _ArrayCol:ArrayCollection = new ArrayCollection();
> override public function set data(value:Object):void
> {
> super.data = value;
> if (data)
> {
> _ArrayCol.source = someGlobalArray.source;
> _ArrayCol.filterFunction = filterIcon;
> _ArrayCol.refresh();
> if (_ArrayCol.length == 1)
> {
> image = new Bitmap(_ArrayCol[0].Icon);
> }
> }
> }
> private function filterIcon(item:Object):Boolean
> {
> if (item.CategoryID == data.Category && item.ModeID == data.Mode &&
> item.Importance == data.Importance)
> {
> return true;
> }
> else
> return false;
> }
>
> Currently I have data just for a few rows. So, initially I see icons in
> these rows, but once I start scrolling they disappear. I understand that my
> solution is not truly data driven. Question is what am I doing wrong?
>
> Thanks
>

Reply via email to