Lets clarify terminology.  "dataProvider" must always be a list of some
kind, like an array, and XMLList an ArrayCollection or an XMLListCollection.
It can not be a single XML node.

 

This expression should return an XMLList: lstRepRankDrill[0].record

 

If you trace(lstRepRankDrill[0].record.toXMLString());  //what do you see?

 

Does your DG display correctly without the filter?

 

Post the declaration for the dataGrid.

 

Tracy Spratt,

Lariat Services, development services available

  _____  

From: [email protected] [mailto:[email protected]] On
Behalf Of chigwell23
Sent: Thursday, August 27, 2009 2:09 PM
To: [email protected]
Subject: [flexcoders] Re: Apply filterFunction to datagrid XMLListCollection
dataprovider question

 

  

thanks for your time Tracy, yes absolutely the whole shooting match is sent
to the _one_ call to the function i.e. lstRepRankDrill, which is actually
more than the dataprovider which is {lstRepRankDrill[0].record}. I know that
the fact there is only one call to the filter is significant, but do not
know why, unless it is because I have to put the filter on
lstRepRankDrill.filterFunction = filterRepRankDtlChnl; and it is
hierarchical. Obviously I cannot put the filter on lstRepRankDrill[0].record
as it is XML and not an XMLListCollection. Am using DG not ADG if that makes
any difference. Eventually found 2 other Google questions out there with the
same scenario - one call to the filter with the whole XMLListCollection
being passed. No answers to them :-(

--- In flexcod...@yahoogro <mailto:flexcoders%40yahoogroups.com> ups.com,
"Tracy Spratt" <tr...@...> wrote:
>
> I don't use ADG all that much, but the filter functions should get a
> "record" node for each call of the filter function. Have you used
> toXMLString() to trace out the item? Inside the filter function you can
use
> any e4x expressions to traverse the xml, down into the child nodes or even
> up to parent nodes.
> 
> 
> 
> I am pretty sure you are not getting the entire dataProvider in the
> function. Do the trace.
> 
> 
> 
> Tracy Spratt,
> 
> Lariat Services, development services available
> 
> _____ 
> 
> From: flexcod...@yahoogro <mailto:flexcoders%40yahoogroups.com> ups.com
[mailto:flexcod...@yahoogro <mailto:flexcoders%40yahoogroups.com> ups.com]
On
> Behalf Of chigwell23
> Sent: Thursday, August 27, 2009 4:25 AM
> To: flexcod...@yahoogro <mailto:flexcoders%40yahoogroups.com> ups.com
> Subject: [flexcoders] Re: Apply filterFunction to datagrid
XMLListCollection
> dataprovider question
> 
> 
> 
> 
> 
> I wonder if is even possible to use the filter function with hierarchical
> XML, as all of the examples I have seen are of array collections or flat
> XML?
> 
> This I think is the problem - the complete data provider is being passed
> into the item parameter of the filter i.e. the xml hierarchy in its
> entirety. I am presuming that the filter wants one "row" at a time so it
can
> do its compare. Where do I have control of this? I am not sure I do since
> the only code is
> 
> lstRepRankDrill.filterFunction = filterRepRankDtlChnl;
> 
> The data provider is
> 
> dataProvider="{lstRepRankDrill[0].record}" in order to dig into the XML
> hierarchy to get to the data. (Wrapper nodes are returned by SQL back end.

> 
> --- In flexcod...@yahoogro <mailto:flexcoders%40yahoogroups.com> ups.com,
> "Tracy Spratt" <tracy@> wrote:
> >
> > Break the code into smaller pieces and debug to see what is wrong.
> > 
> > 
> > 
> > Tracy Spratt,
> > 
> > Lariat Services, development services available
> > 
> > _____ 
> > 
> > From: flexcod...@yahoogro <mailto:flexcoders%40yahoogroups.com> ups.com
> [mailto:flexcod...@yahoogro <mailto:flexcoders%40yahoogroups.com> ups.com]
> On
> > Behalf Of chigwell23
> > Sent: Thursday, August 27, 2009 2:40 AM
> > To: flexcod...@yahoogro <mailto:flexcoders%40yahoogroups.com> ups.com
> > Subject: [flexcoders] Apply filterFunction to datagrid XMLListCollection
> > dataprovider question
> > 
> > 
> > 
> > 
> > 
> > private function filterRepRankDtlChnl(item:Object):Boolean{
> > if(item.results.record.chnl_cd == "PREM") return true;
> > else return false; 
> > }
> > 
> > Filter is not filtering and I think it maybe item.results.record.chnl_cd
-
> > the item:Object is in this format:
> > 
> > item
> > ...<results>
> > ......<record>
> > .........<chnl_cd>
> > .........<rep_nm> etc
> > 
> > What is the correct "path" for chnl_cd and might this be the problem?
TIA,
> > 
> > Mic.
> >
>



Reply via email to