21.3. Filtering Recordsets
Problem
You want to create a new recordset that contains a subset of the original.
Solution
Use the RecordSet.filter( )
method.
Discussion
You can manually create a new RecordSet
object
by reading the records from a recordset and writing selected ones to
a new recordset. However, this is unnecessarily laborious. Instead,
you should use the filter( )
method, which
handles almost all of the processing for you. Simply provide a filter
function that contains the logic to decide which records to use. The
filter( )
method expects a reference to a filter
function as a parameter, and it accepts a second parameter that is
automatically passed to the filter function. The second parameter
lets you filter records based on different criteria. The
filter( )
method returns a new
RecordSet
object.
filteredRs = rs.filter(filterFunction, context);
The filter function is called once for each record. Each time it is
called, it is passed the next record object, and if a context
parameter was specified in the filter( )
method
call, that value is also passed along to the filter function. Within
the filter function you should place the logic to determine whether
the record should be included in the filtered recordset. The optional
context
parameter, if used, lets the filter
function filter based on different criteria. If the filter function
returns true
, then the record is included in the
filtered recordset; if it returns false
, the
record is not included.
function filterFunction (record, ...
Get Actionscript Cookbook now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.