Adam
Adam

Reputation: 2682

filter functions problem

I'm working on a search component for an app I'm working on and I needed to add some filters to it. I've found an example and got the first filter working fine.

Now I'm trying to add a second filter I'm running into problems... In the example I found they use filterFunctions, but I only get an option for filterFunction, why is that?

Here's the example code

   productsCollection.filterFunctions =
[
 filterByPrice, filterByType,
 filterByCondition, filterByVendor
]

And this is what I'm trying

acData.filterFunction = [filterByStatus, filterByDate]

but with this code I get the following error message - 1067: Implicit coercion of a value of type Array to an unrelated type Function.

Why am I getting this error and how would I go about add multiple filters to my Array Collection?

Thanks!

Upvotes: 2

Views: 1080

Answers (2)

Ryan Guill
Ryan Guill

Reputation: 13886

It looks like you are going to have to extend an arraycollection to make it work. this link should spell it out for you: http://blog.rotundu.eu/flex/arraycollection-with-multiple-filter-functions/

Upvotes: 0

Samuel Neff
Samuel Neff

Reputation: 74899

filterFunction must be set to a single function, not an Array or any other datatype. To combine multiple functions create one that combines them, like this:

acData.filterFunction = function(item:Object) 
    {
         return
             filterByPrice(item) &&
             filterByType(item) &&
             filterByCondition(item) &&
             filterByVendor(item);
    };

If you saw a sample that used filterFunctions plural that accepted an array, post a link. That's not anywhere in the standard Flex framework or in the new 4.0 beta afaik.

Upvotes: 3

Related Questions