ActionScript® 3.0 Reference for the Adobe® Flash® Platform
Home  |  Hide Packages and Classes List |  Packages  |  Classes  |  What's New  |  Index  |  Appendixes

Language Reference only
Filters: AIR 32.0 and earlier, Flash Player 32.0 and earlier, Flash Lite 4
Flex 4.6 and earlier, Flash Pro CS6 and earlier
Hide Filters
fl.data 

DataProvider  - AS3 Flash

Packagesx

Top Level
adobe.utils
air.desktop
air.net
air.update
air.update.events
coldfusion.air
coldfusion.air.errors
coldfusion.air.events
coldfusion.service
coldfusion.service.events
coldfusion.service.mxml
com.adobe.acm.solutions.authoring.domain.extensions
com.adobe.acm.solutions.ccr.domain.extensions
com.adobe.consulting.pst.vo
com.adobe.dct.component
com.adobe.dct.component.datadictionary
com.adobe.dct.component.datadictionaryElement
com.adobe.dct.component.dataElementsPanel
com.adobe.dct.component.toolbars
com.adobe.dct.event
com.adobe.dct.exp
com.adobe.dct.model
com.adobe.dct.service
com.adobe.dct.service.provider
com.adobe.dct.transfer
com.adobe.dct.util
com.adobe.dct.view
com.adobe.ep.taskmanagement.domain
com.adobe.ep.taskmanagement.event
com.adobe.ep.taskmanagement.filter
com.adobe.ep.taskmanagement.services
com.adobe.ep.taskmanagement.util
com.adobe.ep.ux.attachmentlist.component
com.adobe.ep.ux.attachmentlist.domain
com.adobe.ep.ux.attachmentlist.domain.events
com.adobe.ep.ux.attachmentlist.domain.renderers
com.adobe.ep.ux.attachmentlist.skin
com.adobe.ep.ux.attachmentlist.skin.renderers
com.adobe.ep.ux.content.event
com.adobe.ep.ux.content.factory
com.adobe.ep.ux.content.handlers
com.adobe.ep.ux.content.managers
com.adobe.ep.ux.content.model.asset
com.adobe.ep.ux.content.model.preview
com.adobe.ep.ux.content.model.relation
com.adobe.ep.ux.content.model.search
com.adobe.ep.ux.content.model.toolbar
com.adobe.ep.ux.content.search
com.adobe.ep.ux.content.services
com.adobe.ep.ux.content.services.load
com.adobe.ep.ux.content.services.permissions
com.adobe.ep.ux.content.services.preview
com.adobe.ep.ux.content.services.providers
com.adobe.ep.ux.content.services.query
com.adobe.ep.ux.content.services.relationships
com.adobe.ep.ux.content.services.search.lccontent
com.adobe.ep.ux.content.services.version
com.adobe.ep.ux.content.view
com.adobe.ep.ux.content.view.components.activate
com.adobe.ep.ux.content.view.components.grid
com.adobe.ep.ux.content.view.components.grid.hover
com.adobe.ep.ux.content.view.components.grid.hover.component
com.adobe.ep.ux.content.view.components.grid.renderers
com.adobe.ep.ux.content.view.components.relationships
com.adobe.ep.ux.content.view.components.review
com.adobe.ep.ux.content.view.components.search.renderers
com.adobe.ep.ux.content.view.components.searchpod
com.adobe.ep.ux.content.view.components.toolbar
com.adobe.ep.ux.content.view.components.toolbar.controlRenderers
com.adobe.ep.ux.content.view.components.version
com.adobe.ep.ux.documentsubmit.component
com.adobe.ep.ux.documentsubmit.domain
com.adobe.ep.ux.documentsubmit.skin
com.adobe.ep.ux.taskaction.component
com.adobe.ep.ux.taskaction.domain
com.adobe.ep.ux.taskaction.domain.events
com.adobe.ep.ux.taskaction.skin
com.adobe.ep.ux.taskdetails.component
com.adobe.ep.ux.taskdetails.domain
com.adobe.ep.ux.taskdetails.skin
com.adobe.ep.ux.tasklist.component
com.adobe.ep.ux.tasklist.domain
com.adobe.ep.ux.tasklist.skin
com.adobe.ep.ux.webdocumentviewer.domain
com.adobe.exm.expression
com.adobe.exm.expression.error
com.adobe.exm.expression.event
com.adobe.exm.expression.impl
com.adobe.fiber.runtime.lib
com.adobe.fiber.services
com.adobe.fiber.services.wrapper
com.adobe.fiber.styles
com.adobe.fiber.util
com.adobe.fiber.valueobjects
com.adobe.gravity.binding
com.adobe.gravity.context
com.adobe.gravity.flex.bundleloader
com.adobe.gravity.flex.progress
com.adobe.gravity.flex.serviceloader
com.adobe.gravity.framework
com.adobe.gravity.init
com.adobe.gravity.service.bundleloader
com.adobe.gravity.service.logging
com.adobe.gravity.service.manifest
com.adobe.gravity.service.progress
com.adobe.gravity.tracker
com.adobe.gravity.ui
com.adobe.gravity.utility
com.adobe.gravity.utility.async
com.adobe.gravity.utility.error
com.adobe.gravity.utility.events
com.adobe.gravity.utility.factory
com.adobe.gravity.utility.flex.async
com.adobe.gravity.utility.logging
com.adobe.gravity.utility.message
com.adobe.gravity.utility.sequence
com.adobe.gravity.utility.url
com.adobe.guides.control
com.adobe.guides.domain
com.adobe.guides.i18n
com.adobe.guides.spark.components.skins
com.adobe.guides.spark.components.skins.mx
com.adobe.guides.spark.headers.components
com.adobe.guides.spark.headers.skins
com.adobe.guides.spark.layouts.components
com.adobe.guides.spark.layouts.skins
com.adobe.guides.spark.navigators.components
com.adobe.guides.spark.navigators.renderers
com.adobe.guides.spark.navigators.skins
com.adobe.guides.spark.util
com.adobe.guides.spark.wrappers.components
com.adobe.guides.spark.wrappers.skins
com.adobe.guides.submit
com.adobe.icc.dc.domain
com.adobe.icc.dc.domain.factory
com.adobe.icc.editors.events
com.adobe.icc.editors.handlers
com.adobe.icc.editors.managers
com.adobe.icc.editors.model
com.adobe.icc.editors.model.config
com.adobe.icc.editors.model.el
com.adobe.icc.editors.model.el.operands
com.adobe.icc.editors.model.el.operators
com.adobe.icc.enum
com.adobe.icc.external.dc
com.adobe.icc.obj
com.adobe.icc.services
com.adobe.icc.services.category
com.adobe.icc.services.config
com.adobe.icc.services.download
com.adobe.icc.services.export
com.adobe.icc.services.external
com.adobe.icc.services.formbridge
com.adobe.icc.services.fragmentlayout
com.adobe.icc.services.layout
com.adobe.icc.services.letter
com.adobe.icc.services.locator
com.adobe.icc.services.module
com.adobe.icc.services.render
com.adobe.icc.services.submit
com.adobe.icc.services.user
com.adobe.icc.token
com.adobe.icc.vo
com.adobe.icc.vo.render
com.adobe.icomm.assetplacement.controller
com.adobe.icomm.assetplacement.controller.utils
com.adobe.icomm.assetplacement.data
com.adobe.icomm.assetplacement.model
com.adobe.livecycle.assetmanager.client
com.adobe.livecycle.assetmanager.client.event
com.adobe.livecycle.assetmanager.client.handler
com.adobe.livecycle.assetmanager.client.managers
com.adobe.livecycle.assetmanager.client.model
com.adobe.livecycle.assetmanager.client.model.cms
com.adobe.livecycle.assetmanager.client.service
com.adobe.livecycle.assetmanager.client.service.search
com.adobe.livecycle.assetmanager.client.service.search.cms
com.adobe.livecycle.assetmanager.client.utils
com.adobe.livecycle.content
com.adobe.livecycle.rca.model
com.adobe.livecycle.rca.model.constant
com.adobe.livecycle.rca.model.document
com.adobe.livecycle.rca.model.participant
com.adobe.livecycle.rca.model.reminder
com.adobe.livecycle.rca.model.stage
com.adobe.livecycle.rca.service
com.adobe.livecycle.rca.service.core
com.adobe.livecycle.rca.service.core.delegate
com.adobe.livecycle.rca.service.process
com.adobe.livecycle.rca.service.process.delegate
com.adobe.livecycle.rca.token
com.adobe.livecycle.ria.security.api
com.adobe.livecycle.ria.security.service
com.adobe.mosaic.layouts
com.adobe.mosaic.layouts.dragAndDrop
com.adobe.mosaic.layouts.interfaces
com.adobe.mosaic.mxml
com.adobe.mosaic.om.constants
com.adobe.mosaic.om.events
com.adobe.mosaic.om.impl
com.adobe.mosaic.om.interfaces
com.adobe.mosaic.skinning
com.adobe.mosaic.sparklib.editors
com.adobe.mosaic.sparklib.optionMenu
com.adobe.mosaic.sparklib.scrollableMenu
com.adobe.mosaic.sparklib.scrollableMenu.skins
com.adobe.mosaic.sparklib.tabLayout
com.adobe.mosaic.sparklib.tabLayout.events
com.adobe.mosaic.sparklib.tabLayout.layouts
com.adobe.mosaic.sparklib.tabLayout.skins
com.adobe.mosaic.sparklib.text
com.adobe.mosaic.sparklib.util
com.adobe.solutions.acm.authoring.presentation
com.adobe.solutions.acm.authoring.presentation.actionbar
com.adobe.solutions.acm.authoring.presentation.common
com.adobe.solutions.acm.authoring.presentation.events
com.adobe.solutions.acm.authoring.presentation.fragment
com.adobe.solutions.acm.authoring.presentation.letter
com.adobe.solutions.acm.authoring.presentation.letter.data
com.adobe.solutions.acm.authoring.presentation.preview
com.adobe.solutions.acm.authoring.presentation.rte
com.adobe.solutions.acm.ccr.presentation
com.adobe.solutions.acm.ccr.presentation.contentcapture
com.adobe.solutions.acm.ccr.presentation.contentcapture.events
com.adobe.solutions.acm.ccr.presentation.contentcapture.preview
com.adobe.solutions.acm.ccr.presentation.datacapture
com.adobe.solutions.acm.ccr.presentation.datacapture.renderers
com.adobe.solutions.acm.ccr.presentation.pdf
com.adobe.solutions.exm
com.adobe.solutions.exm.authoring
com.adobe.solutions.exm.authoring.components.controls
com.adobe.solutions.exm.authoring.components.toolbars
com.adobe.solutions.exm.authoring.domain
com.adobe.solutions.exm.authoring.domain.expression
com.adobe.solutions.exm.authoring.domain.impl
com.adobe.solutions.exm.authoring.domain.method
com.adobe.solutions.exm.authoring.domain.variable
com.adobe.solutions.exm.authoring.enum
com.adobe.solutions.exm.authoring.events
com.adobe.solutions.exm.authoring.model
com.adobe.solutions.exm.authoring.renderer
com.adobe.solutions.exm.authoring.view
com.adobe.solutions.exm.expression
com.adobe.solutions.exm.impl
com.adobe.solutions.exm.impl.method
com.adobe.solutions.exm.method
com.adobe.solutions.exm.mock
com.adobe.solutions.exm.mock.method
com.adobe.solutions.exm.runtime
com.adobe.solutions.exm.runtime.impl
com.adobe.solutions.exm.variable
com.adobe.solutions.prm.constant
com.adobe.solutions.prm.domain
com.adobe.solutions.prm.domain.factory
com.adobe.solutions.prm.domain.impl
com.adobe.solutions.prm.domain.manager
com.adobe.solutions.prm.presentation.asset
com.adobe.solutions.prm.presentation.constant
com.adobe.solutions.prm.presentation.document
com.adobe.solutions.prm.presentation.event
com.adobe.solutions.prm.presentation.file
com.adobe.solutions.prm.presentation.project
com.adobe.solutions.prm.presentation.team
com.adobe.solutions.prm.presentation.util
com.adobe.solutions.prm.service
com.adobe.solutions.prm.services.impl
com.adobe.solutions.prm.vo
com.adobe.solutions.rca.constant
com.adobe.solutions.rca.domain
com.adobe.solutions.rca.domain.common
com.adobe.solutions.rca.domain.factory
com.adobe.solutions.rca.domain.impl
com.adobe.solutions.rca.domain.impl.manager
com.adobe.solutions.rca.domain.manager
com.adobe.solutions.rca.presentation
com.adobe.solutions.rca.presentation.comment
com.adobe.solutions.rca.presentation.constant
com.adobe.solutions.rca.presentation.event
com.adobe.solutions.rca.presentation.gantt
com.adobe.solutions.rca.presentation.gantt.ruler
com.adobe.solutions.rca.presentation.template
com.adobe.solutions.rca.presentation.template.audit
com.adobe.solutions.rca.presentation.template.definition
com.adobe.solutions.rca.presentation.template.documents
com.adobe.solutions.rca.presentation.template.stages
com.adobe.solutions.rca.presentation.util
com.adobe.solutions.rca.service
com.adobe.solutions.rca.services.impl
com.adobe.solutions.rca.vo
com.adobe.solutions.rca.vo.um
com.adobe.viewsource
fl.accessibility
fl.containers
fl.controls
fl.controls.dataGridClasses
fl.controls.listClasses
fl.controls.progressBarClasses
fl.core
fl.data
fl.display
fl.events
fl.ik
fl.lang
fl.livepreview
fl.managers
fl.motion
fl.motion.easing
fl.rsl
fl.text
fl.transitions
fl.transitions.easing
fl.video
flash.accessibility
flash.concurrent
flash.crypto
flash.data
flash.desktop
flash.display
flash.display3D
flash.display3D.textures
flash.errors
flash.events
flash.external
flash.filesystem
flash.filters
flash.geom
flash.globalization
flash.html
flash.media
flash.net
flash.net.dns
flash.net.drm
flash.notifications
flash.permissions
flash.printing
flash.profiler
flash.sampler
flash.security
flash.sensors
flash.system
flash.text
flash.text.engine
flash.text.ime
flash.ui
flash.utils
flash.xml
flashx.textLayout
flashx.textLayout.compose
flashx.textLayout.container
flashx.textLayout.conversion
flashx.textLayout.edit
flashx.textLayout.elements
flashx.textLayout.events
flashx.textLayout.factory
flashx.textLayout.formats
flashx.textLayout.operations
flashx.textLayout.utils
flashx.undo
ga.controls
ga.layouts
ga.model
ga.uiComponents
ga.util
ga.views
ga.wrappers
lc.foundation
lc.foundation.domain
lc.foundation.events
lc.foundation.ui
lc.foundation.util
lc.preloader
lc.procmgmt
lc.procmgmt.commands
lc.procmgmt.domain
lc.procmgmt.events
lc.procmgmt.formbridge
lc.procmgmt.impl
lc.procmgmt.ui.attachments
lc.procmgmt.ui.controls
lc.procmgmt.ui.controls.card
lc.procmgmt.ui.controls.renderer
lc.procmgmt.ui.help
lc.procmgmt.ui.layout
lc.procmgmt.ui.presentationmodel
lc.procmgmt.ui.process
lc.procmgmt.ui.search
lc.procmgmt.ui.startpoint
lc.procmgmt.ui.task
lc.procmgmt.ui.task.form
lc.procmgmt.ui.task.form.commands
lc.procmgmt.ui.tracking
mx.accessibility
mx.automation
mx.automation.air
mx.automation.delegates
mx.automation.delegates.advancedDataGrid
mx.automation.delegates.charts
mx.automation.delegates.containers
mx.automation.delegates.controls
mx.automation.delegates.controls.dataGridClasses
mx.automation.delegates.controls.fileSystemClasses
mx.automation.delegates.core
mx.automation.delegates.flashflexkit
mx.automation.events
mx.binding
mx.binding.utils
mx.charts
mx.charts.chartClasses
mx.charts.effects
mx.charts.effects.effectClasses
mx.charts.events
mx.charts.renderers
mx.charts.series
mx.charts.series.items
mx.charts.series.renderData
mx.charts.styles
mx.collections
mx.collections.errors
mx.containers
mx.containers.accordionClasses
mx.containers.dividedBoxClasses
mx.containers.errors
mx.containers.utilityClasses
mx.controls
mx.controls.advancedDataGridClasses
mx.controls.dataGridClasses
mx.controls.listClasses
mx.controls.menuClasses
mx.controls.olapDataGridClasses
mx.controls.scrollClasses
mx.controls.sliderClasses
mx.controls.textClasses
mx.controls.treeClasses
mx.controls.videoClasses
mx.core
mx.core.windowClasses
mx.data
mx.data.crypto
mx.data.errors
mx.data.events
mx.data.messages
mx.data.mxml
mx.data.offline.errors
mx.data.utils
mx.effects
mx.effects.easing
mx.effects.effectClasses
mx.events
mx.filters
mx.flash
mx.formatters
mx.geom
mx.graphics
mx.graphics.codec
mx.graphics.shaderClasses
mx.logging
mx.logging.errors
mx.logging.targets
mx.managers
mx.messaging
mx.messaging.channels
mx.messaging.config
mx.messaging.errors
mx.messaging.events
mx.messaging.management
mx.messaging.messages
mx.modules
mx.netmon
mx.olap
mx.olap.aggregators
mx.preloaders
mx.printing
mx.resources
mx.rpc
mx.rpc.events
mx.rpc.http
mx.rpc.http.mxml
mx.rpc.livecycle
mx.rpc.mxml
mx.rpc.remoting
mx.rpc.remoting.mxml
mx.rpc.soap
mx.rpc.soap.mxml
mx.rpc.wsdl
mx.rpc.xml
mx.skins
mx.skins.halo
mx.skins.spark
mx.skins.wireframe
mx.skins.wireframe.windowChrome
mx.states
mx.styles
mx.utils
mx.validators
org.osmf.containers
org.osmf.display
org.osmf.elements
org.osmf.events
org.osmf.layout
org.osmf.logging
org.osmf.media
org.osmf.metadata
org.osmf.net
org.osmf.net.dvr
org.osmf.net.httpstreaming
org.osmf.net.metrics
org.osmf.net.qos
org.osmf.net.rtmpstreaming
org.osmf.net.rules
org.osmf.traits
org.osmf.utils
spark.accessibility
spark.automation.delegates
spark.automation.delegates.components
spark.automation.delegates.components.gridClasses
spark.automation.delegates.components.mediaClasses
spark.automation.delegates.components.supportClasses
spark.automation.delegates.skins.spark
spark.automation.events
spark.collections
spark.components
spark.components.calendarClasses
spark.components.gridClasses
spark.components.mediaClasses
spark.components.supportClasses
spark.components.windowClasses
spark.core
spark.effects
spark.effects.animation
spark.effects.easing
spark.effects.interpolation
spark.effects.supportClasses
spark.events
spark.filters
spark.formatters
spark.formatters.supportClasses
spark.globalization
spark.globalization.supportClasses
spark.layouts
spark.layouts.supportClasses
spark.managers
spark.modules
spark.preloaders
spark.primitives
spark.primitives.supportClasses
spark.skins
spark.skins.mobile
spark.skins.mobile.supportClasses
spark.skins.spark
spark.skins.spark.mediaClasses.fullScreen
spark.skins.spark.mediaClasses.normal
spark.skins.spark.windowChrome
spark.skins.wireframe
spark.skins.wireframe.mediaClasses
spark.skins.wireframe.mediaClasses.fullScreen
spark.transitions
spark.utils
spark.validators
spark.validators.supportClasses
xd.core.axm.enterprise.view.components
xd.core.axm.enterprise.view.skins
xd.core.axm.view.components
xd.core.axm.view.components.support

Language Elements

Global Constants
Global Functions
Operators
Statements, Keywords & Directives
Special Types

Appendixes

What's New
Compiler Errors
Compiler Warnings
Run-Time Errors
Migrating to ActionScript 3
Supported Character Sets
MXML Only Tags
Motion XML Elements
Timed Text Tags
List of deprecated elements
Accessibility Implementation Constants
How to Use ActionScript Examples
Legal notices
Packagefl.data
Classpublic class DataProvider
InheritanceDataProvider Inheritance EventDispatcher Inheritance Object

Language Version: ActionScript 3.0
Product Version: Flash CS3
Runtime Versions: Flash Player 9.0.28.0, AIR 1.0

The DataProvider class provides methods and properties that allow you to query and modify the data in any list-based component--for example, in a List, DataGrid, TileList, or ComboBox component.

A data provider is a linear collection of items that serve as a data source--for example, an array. Each item in a data provider is an object or XML object that contains one or more fields of data. You can access the items that are contained in a data provider by index, by using the DataProvider.getItemAt() method.

View the examples



Public Properties
 PropertyDefined By
 Inheritedconstructor : Object
A reference to the class object or constructor function for a given object instance.
Object
  length : uint
[read-only] The number of items that the data provider contains.
DataProvider
Public Methods
 MethodDefined By
  
DataProvider(value:Object = null)
Creates a new DataProvider object using a list, XML instance or an array of data objects as the data source.
DataProvider
 Inherited
addEventListener(type:String, listener:Function, useCapture:Boolean = false, priority:int = 0, useWeakReference:Boolean = false):void
Registers an event listener object with an EventDispatcher object so that the listener receives notification of an event.
EventDispatcher
  
Appends an item to the end of the data provider.
DataProvider
  
addItemAt(item:Object, index:uint):void
Adds a new item to the data provider at the specified index.
DataProvider
  
Appends multiple items to the end of the DataProvider and dispatches a DataChangeType.ADD event.
DataProvider
  
addItemsAt(items:Object, index:uint):void
Adds several items to the data provider at the specified index and dispatches a DataChangeType.ADD event.
DataProvider
  
Creates a copy of the current DataProvider object.
DataProvider
  
Concatenates the specified items to the end of the current data provider.
DataProvider
 Inherited
Dispatches an event into the event flow.
EventDispatcher
  
Returns the item at the specified index.
DataProvider
  
Returns the index of the specified item.
DataProvider
 Inherited
Checks whether the EventDispatcher object has any listeners registered for a specific type of event.
EventDispatcher
 Inherited
Indicates whether an object has a specified property defined.
Object
  
Invalidates all the data items that the DataProvider contains and dispatches a DataChangeEvent.INVALIDATE_ALL event.
DataProvider
  
Invalidates the specified item.
DataProvider
  
Invalidates the item at the specified index.
DataProvider
 Inherited
Indicates whether an instance of the Object class is in the prototype chain of the object specified as the parameter.
Object
  
merge(newData:Object):void
Appends the specified data into the data that the data provider contains and removes any duplicate items.
DataProvider
 Inherited
Indicates whether the specified property exists and is enumerable.
Object
  
Removes all items from the data provider and dispatches a DataChangeType.REMOVE_ALL event.
DataProvider
 Inherited
removeEventListener(type:String, listener:Function, useCapture:Boolean = false):void
Removes a listener from the EventDispatcher object.
EventDispatcher
  
Removes the specified item from the data provider and dispatches a DataChangeType.REMOVE event.
DataProvider
  
Removes the item at the specified index and dispatches a DataChangeType.REMOVE event.
DataProvider
  
replaceItem(newItem:Object, oldItem:Object):Object
Replaces an existing item with a new item and dispatches a DataChangeType.REPLACE event.
DataProvider
  
Replaces the item at the specified index and dispatches a DataChangeType.REPLACE event.
DataProvider
 Inherited
Sets the availability of a dynamic property for loop operations.
Object
  
sort(... sortArgs):*
Sorts the items that the data provider contains and dispatches a DataChangeType.SORT event.
DataProvider
  
sortOn(fieldName:Object, options:Object = null):*
Sorts the items that the data provider contains by the specified field and dispatches a DataChangeType.SORT event.
DataProvider
  
Creates an Array object representation of the data that the data provider contains.
DataProvider
 Inherited
Returns the string representation of this object, formatted according to locale-specific conventions.
Object
  
[override] Creates a string representation of the data that the data provider contains.
DataProvider
 Inherited
Returns the primitive value of the specified object.
Object
 Inherited
Checks whether an event listener is registered with this EventDispatcher object or any of its ancestors for the specified event type.
EventDispatcher
Events
 Event Summary Defined By
 Inherited[broadcast event] Dispatched when the Flash Player or AIR application gains operating system focus and becomes active.EventDispatcher
  Dispatched after the data is changed.DataProvider
 Inherited[broadcast event] Dispatched when the Flash Player or AIR application operating loses system focus and is becoming inactive.EventDispatcher
  Dispatched before the data is changed.DataProvider
Property Detail

length

property
length:uint  [read-only]

Language Version: ActionScript 3.0
Product Version: Flash CS3
Runtime Versions: Flash Player 9.0.28.0, AIR 1.0

The number of items that the data provider contains.



Implementation
    public function get length():uint

Example  ( How to use this example )
The following example creates a List component instance and resizes the list to match the number of items in its data provider:
import fl.controls.List;
import fl.data.DataProvider;

var dp:DataProvider = new DataProvider();
dp.addItem({label:"Item 1"});
dp.addItem({label:"Item 2"});
dp.addItem({label:"Item 3"});
dp.addItem({label:"Item 4"});

var myList:List = new List();
myList.dataProvider = dp;
myList.rowHeight = 35;
myList.rowCount = dp.length;
myList.move(10, 10);
addChild(myList);
Constructor Detail

DataProvider

()Constructor
public function DataProvider(value:Object = null)

Language Version: ActionScript 3.0
Product Version: Flash CS3
Runtime Versions: Flash Player 9.0.28.0, AIR 1.0

Creates a new DataProvider object using a list, XML instance or an array of data objects as the data source.

Parameters
value:Object (default = null) — The data that is used to create the DataProvider.

Example  ( How to use this example )

The following example creates a new data provider using the addItem() method:
import fl.controls.ComboBox;
import fl.data.DataProvider;
 
var dp:DataProvider = new DataProvider();
dp.addItem({label:"item 1a"});
dp.addItem({label:"item 2a"});

var myComboBox:ComboBox = new ComboBox()
myComboBox.dataProvider = dp;
myComboBox.move(10, 10);
addChild(myComboBox);

The following example populates a data provider using an Array object:
import fl.controls.ComboBox;
import fl.data.DataProvider;

var arr:Array = new Array();
arr.push({label:"item 1b"});
arr.push({label:"item 2b"});

var dp:DataProvider = new DataProvider(arr);

var myComboBox:ComboBox = new ComboBox()
myComboBox.dataProvider = dp;
myComboBox.move(10, 10);
addChild(myComboBox);

The following example populates a data provider using an XML object with attributes:
import fl.controls.ComboBox;
import fl.data.DataProvider;

var xml:XML = <items>
        <item label="item 1c" />
        <item label="item 2c" />
    </items>;

var dp:DataProvider = new DataProvider(xml);

var myComboBox:ComboBox = new ComboBox()
myComboBox.dataProvider = dp;
myComboBox.move(10, 10);
addChild(myComboBox);

The following example populates a data provider using an XML object with child nodes:
import fl.controls.ComboBox;
import fl.data.DataProvider;

var xml:XML = <items>
        <item>
            <label>item 1d</label>
        </item>
        <item>
            <label>item 2d</label>
        </item>
    </items>;

var dp:DataProvider = new DataProvider(xml);

var myComboBox:ComboBox = new ComboBox()
myComboBox.dataProvider = dp;
myComboBox.move(10, 10);
addChild(myComboBox);
Method Detail

addItem

()method
public function addItem(item:Object):void

Language Version: ActionScript 3.0
Product Version: Flash CS3
Runtime Versions: Flash Player 9.0.28.0, AIR 1.0

Appends an item to the end of the data provider.

Parameters

item:Object — The item to be appended to the end of the current data provider.

Related API Elements


Example  ( How to use this example )

The following example creates a new data provider using the addItem() method:
import fl.controls.ComboBox;
import fl.data.DataProvider;
 
var dp:DataProvider = new DataProvider();
dp.addItem({label:"item 1a"});
dp.addItem({label:"item 2a"});

var myComboBox:ComboBox = new ComboBox()
myComboBox.dataProvider = dp;
myComboBox.move(10, 10);
addChild(myComboBox);

addItemAt

()method 
public function addItemAt(item:Object, index:uint):void

Language Version: ActionScript 3.0
Product Version: Flash CS3
Runtime Versions: Flash Player 9.0.28.0, AIR 1.0

Adds a new item to the data provider at the specified index. If the index that is specified exceeds the length of the data provider, the index is ignored.

Parameters

item:Object — An object that contains the data for the item to be added.
 
index:uint — The index at which the item is to be added.


Throws
RangeError — The specified index is less than 0 or greater than or equal to the length of the data provider.

Related API Elements

addItems

()method 
public function addItems(items:Object):void

Language Version: ActionScript 3.0
Product Version: Flash CS3
Runtime Versions: Flash Player 9.0.28.0, AIR 1.0

Appends multiple items to the end of the DataProvider and dispatches a DataChangeType.ADD event. The items are added in the order in which they are specified.

Parameters

items:Object — The items to be appended to the data provider.

Related API Elements


Example  ( How to use this example )

The following example uses the addItems() method to add several items to the data provider:
import fl.controls.DataGrid;
import fl.controls.dataGridClasses.DataGridColumn;
import fl.data.DataProvider;

var arr:Array = [{col1:"1.A", col2:"1.B"}, {col1:"2.A", col2:"2.B"}]

var dp:DataProvider = new DataProvider();
dp.addItems(arr);
trace(dp.length); // 2

var c1:DataGridColumn = new DataGridColumn("col1");
var c2:DataGridColumn = new DataGridColumn("col2");

var myDataGrid:DataGrid = new DataGrid();
myDataGrid.addColumn(c1);
myDataGrid.addColumn(c2);
myDataGrid.dataProvider = dp;
myDataGrid.setSize(200, 160);
myDataGrid.move(10, 10);
addChild(myDataGrid);

addItemsAt

()method 
public function addItemsAt(items:Object, index:uint):void

Language Version: ActionScript 3.0
Product Version: Flash CS3
Runtime Versions: Flash Player 9.0.28.0, AIR 1.0

Adds several items to the data provider at the specified index and dispatches a DataChangeType.ADD event.

Parameters

items:Object — The items to be added to the data provider.
 
index:uint — The index at which the items are to be inserted.


Throws
RangeError — The specified index is less than 0 or greater than or equal to the length of the data provider.

Related API Elements

clone

()method 
public function clone():DataProvider

Language Version: ActionScript 3.0
Product Version: Flash CS3
Runtime Versions: Flash Player 9.0.28.0, AIR 1.0

Creates a copy of the current DataProvider object.

Returns
DataProvider — A new instance of this DataProvider object.

concat

()method 
public function concat(items:Object):void

Language Version: ActionScript 3.0
Product Version: Flash CS3
Runtime Versions: Flash Player 9.0.28.0, AIR 1.0

Concatenates the specified items to the end of the current data provider. This method dispatches a DataChangeType.ADD event.

Parameters

items:Object — The items to be added to the data provider.

Related API Elements

getItemAt

()method 
public function getItemAt(index:uint):Object

Language Version: ActionScript 3.0
Product Version: Flash CS3
Runtime Versions: Flash Player 9.0.28.0, AIR 1.0

Returns the item at the specified index.

Parameters

index:uint — Location of the item to be returned.

Returns
Object — The item at the specified index.

Throws
RangeError — The specified index is less than 0 or greater than or equal to the length of the data provider.

Related API Elements

getItemIndex

()method 
public function getItemIndex(item:Object):int

Language Version: ActionScript 3.0
Product Version: Flash CS3
Runtime Versions: Flash Player 9.0.28.0, AIR 1.0

Returns the index of the specified item.

Parameters

item:Object — The item to be located.

Returns
int — The index of the specified item, or -1 if the specified item is not found.

Related API Elements

invalidate

()method 
public function invalidate():void

Language Version: ActionScript 3.0
Product Version: Flash CS3
Runtime Versions: Flash Player 9.0.28.0, AIR 1.0

Invalidates all the data items that the DataProvider contains and dispatches a DataChangeEvent.INVALIDATE_ALL event. Items are invalidated after they are changed; the DataProvider automatically redraws the invalidated items.

Related API Elements

invalidateItem

()method 
public function invalidateItem(item:Object):void

Language Version: ActionScript 3.0
Product Version: Flash CS3
Runtime Versions: Flash Player 9.0.28.0, AIR 1.0

Invalidates the specified item. An item is invalidated after it is changed; the DataProvider automatically redraws the invalidated item.

Parameters

item:Object — Item to be invalidated.

Related API Elements

invalidateItemAt

()method 
public function invalidateItemAt(index:int):void

Language Version: ActionScript 3.0
Product Version: Flash CS3
Runtime Versions: Flash Player 9.0.28.0, AIR 1.0

Invalidates the item at the specified index. An item is invalidated after it is changed; the DataProvider automatically redraws the invalidated item.

Parameters

index:int — Index of the item to be invalidated.


Throws
RangeError — The specified index is less than 0 or greater than or equal to the length of the data provider.

Related API Elements

merge

()method 
public function merge(newData:Object):void

Language Version: ActionScript 3.0
Product Version: Flash CS3
Runtime Versions: Flash Player 9.0.28.0, AIR 1.0

Appends the specified data into the data that the data provider contains and removes any duplicate items. This method dispatches a DataChangeType.ADD event.

Parameters

newData:Object — Data to be merged into the data provider.

Related API Elements

removeAll

()method 
public function removeAll():void

Language Version: ActionScript 3.0
Product Version: Flash CS3
Runtime Versions: Flash Player 9.0.28.0, AIR 1.0

Removes all items from the data provider and dispatches a DataChangeType.REMOVE_ALL event.

Related API Elements

removeItem

()method 
public function removeItem(item:Object):Object

Language Version: ActionScript 3.0
Product Version: Flash CS3
Runtime Versions: Flash Player 9.0.28.0, AIR 1.0

Removes the specified item from the data provider and dispatches a DataChangeType.REMOVE event.

Parameters

item:Object — Item to be removed.

Returns
Object — The item that was removed.

Related API Elements

removeItemAt

()method 
public function removeItemAt(index:uint):Object

Language Version: ActionScript 3.0
Product Version: Flash CS3
Runtime Versions: Flash Player 9.0.28.0, AIR 1.0

Removes the item at the specified index and dispatches a DataChangeType.REMOVE event.

Parameters

index:uint — Index of the item to be removed.

Returns
Object — The item that was removed.

Throws
RangeError — The specified index is less than 0 or greater than or equal to the length of the data provider.

Related API Elements

replaceItem

()method 
public function replaceItem(newItem:Object, oldItem:Object):Object

Language Version: ActionScript 3.0
Product Version: Flash CS3
Runtime Versions: Flash Player 9.0.28.0, AIR 1.0

Replaces an existing item with a new item and dispatches a DataChangeType.REPLACE event.

Parameters

newItem:Object — The item to be replaced.
 
oldItem:Object — The replacement item.

Returns
Object — The item that was replaced.

Throws
RangeError — The item could not be found in the data provider.

Related API Elements

replaceItemAt

()method 
public function replaceItemAt(newItem:Object, index:uint):Object

Language Version: ActionScript 3.0
Product Version: Flash CS3
Runtime Versions: Flash Player 9.0.28.0, AIR 1.0

Replaces the item at the specified index and dispatches a DataChangeType.REPLACE event.

Parameters

newItem:Object — The replacement item.
 
index:uint — The index of the item to be replaced.

Returns
Object — The item that was replaced.

Throws
RangeError — The specified index is less than 0 or greater than or equal to the length of the data provider.

Related API Elements

sort

()method 
public function sort(... sortArgs):*

Language Version: ActionScript 3.0
Product Version: Flash CS3
Runtime Versions: Flash Player 9.0.28.0, AIR 1.0

Sorts the items that the data provider contains and dispatches a DataChangeType.SORT event.

Parameters

... sortArgs — The arguments to use for sorting.

Returns
* — The return value depends on whether the method receives any arguments. See the Array.sort() method for more information. This method returns 0 when the sortOption property is set to Array.UNIQUESORT.

Related API Elements

sortOn

()method 
public function sortOn(fieldName:Object, options:Object = null):*

Language Version: ActionScript 3.0
Product Version: Flash CS3
Runtime Versions: Flash Player 9.0.28.0, AIR 1.0

Sorts the items that the data provider contains by the specified field and dispatches a DataChangeType.SORT event. The specified field can be a string, or an array of string values that designate multiple fields to sort on in order of precedence.

Parameters

fieldName:Object — The item field by which to sort. This value can be a string or an array of string values.
 
options:Object (default = null) — Options for sorting.

Returns
* — The return value depends on whether the method receives any arguments. For more information, see the Array.sortOn() method. If the sortOption property is set to Array.UNIQUESORT, this method returns 0.

Related API Elements

toArray

()method 
public function toArray():Array

Language Version: ActionScript 3.0
Product Version: Flash CS3
Runtime Versions: Flash Player 9.0.28.0, AIR 1.0

Creates an Array object representation of the data that the data provider contains.

Returns
Array — An Array object representation of the data that the data provider contains.

toString

()method 
override public function toString():String

Language Version: ActionScript 3.0
Product Version: Flash CS3
Runtime Versions: Flash Player 9.0.28.0, AIR 1.0

Creates a string representation of the data that the data provider contains.

Returns
String — A string representation of the data that the data provider contains.
Event Detail

dataChange

Event
Event Object Type: fl.events.DataChangeEvent
property DataChangeEvent.type = fl.events.DataChangeEvent.DATA_CHANGE

Language Version: ActionScript 3.0
Product Version: Flash CS3
Runtime Versions: Flash Player 9.0.28.0, AIR 1.0

Dispatched after the data is changed.

Defines the value of the type property of a dataChange event object.

This event has the following properties:

PropertyValue
bubblesfalse
cancelablefalse; there is no default behavior to cancel.
changeTypeIdentifies the type of change that was made.
currentTargetThe object that is actively processing the event object with an event listener.
endIndexIdentifies the index of the last changed item.
itemsAn array that lists the items that were changed.
startIndexIdentifies the index of the first changed item.
targetThe object that dispatched the event. The target is not always the object listening for the event. Use the currentTarget property to access the object that is listening for the event.

Related API Elements

preDataChange

Event  
Event Object Type: fl.events.DataChangeEvent
property DataChangeEvent.type = fl.events.DataChangeEvent.PRE_DATA_CHANGE

Language Version: ActionScript 3.0
Product Version: Flash CS3
Runtime Versions: Flash Player 9.0.28.0, AIR 1.0

Dispatched before the data is changed.

Defines the value of the type property of a preDataChange event object. This event object is dispatched before a change is made to component data.

This event has the following properties:

PropertyValue
bubblesfalse
cancelablefalse; there is no default behavior to cancel.
changeTypeIdentifies the type of change to be made.
currentTargetThe object that is actively processing the event object with an event listener.
endIndexIdentifies the index of the last item to be changed.
itemsAn array that lists the items to be changed.
startIndexIdentifies the index of the first item to be changed.
targetThe object that dispatched the event. The target is not always the object listening for the event. Use the currentTarget property to access the object that is listening for the event.

Related API Elements

DataProviderExample.as

This example demonstrates how data providers can be used to maintain the contents of several data grids.

To run the example, follow these steps:

  1. Add the Label, Button, ComboBox, TextInput, and DataGrid components to the library.
  2. Save this code as DataProviderExample.as in the same directory as your FLA file.
  3. Set the Document class in the FLA file to DataProviderExample.
package
{
    import fl.controls.Button;
    import fl.controls.ComboBox;
    import fl.controls.DataGrid;
    import fl.controls.Label;
    import fl.controls.TextInput;
    import fl.data.DataProvider;
    import flash.display.Sprite;
    import flash.events.*;
    import flash.text.TextFieldAutoSize;
    
    public class DataProviderExample extends Sprite
    {        
        private var southern:DataGrid;
        private var northern:DataGrid;
        private var world:DataGrid;
        private var southernRoster:DataProvider;
        private var northernRoster:DataProvider;
        private var leagueCB:ComboBox;
        private var nameTI:TextInput;
        private var goalsTI:TextInput;
        private var submitBtn:Button;

        public function DataProviderExample() {
            southernRoster = new DataProvider();
            northernRoster = new DataProvider();
            
            createDataGrids();
            createUI();
        }

        private function createUI():void {
            var description:Label = new Label();
            description.text = "Enter player's name, goals scored, and hemisphere of origin:";
            description.autoSize = TextFieldAutoSize.LEFT;
            nameTI = new TextInput();
            goalsTI = new TextInput();
            
            var submitBtn:Button = new Button();
            submitBtn.label = "Submit Player";
            submitBtn.addEventListener(MouseEvent.CLICK, submitPlayer);
            
            leagueCB = new ComboBox();
            leagueCB.addItem( { label:"Northern", data: 0 } );
            leagueCB.addItem( { label:"Southern", data: 1 } );
            
            description.move(10,10);
            nameTI.move(10,40);
            nameTI.setSize(150,24);
            goalsTI.move(170,40);
            goalsTI.setSize(40,24);
            leagueCB.move(220,40);
            leagueCB.setSize(120,24);
            submitBtn.move(350,40);
            goalsTI.restrict = "0123456789";
            
            addChild(description);
            addChild(leagueCB);
            addChild(submitBtn);
            addChild(nameTI);
            addChild(goalsTI);
        }
        private function submitPlayer(e:MouseEvent):void {
            if(nameTI.text != "" && goalsTI.text != "") {
                var targetRoster:DataProvider;

                if(leagueCB.selectedItem.label == "Southern") {
                    targetRoster = southernRoster;
                }
                else {
                    targetRoster = northernRoster;
                }
    
                targetRoster.addItem( { Name: nameTI.text, Goals: goalsTI.text } );
                
                var worldRoster:DataProvider = southernRoster.clone();
                worldRoster.merge(northernRoster);
                worldRoster.sortOn("Goals", Array.NUMERIC | Array.DESCENDING);
                southernRoster.sortOn("Goals", Array.NUMERIC | Array.DESCENDING);
                northernRoster.sortOn("Goals", Array.NUMERIC | Array.DESCENDING);
                
                world.dataProvider = worldRoster;
                
                nameTI.text = "";
                goalsTI.text = "";
            }
        }        

        private function createDataGrids():void {
            southern = new DataGrid();
            northern = new DataGrid();
            world = new DataGrid();
            southern.move(10,100);
            northern.move(180,100);
            world.move(350,100);
            southern.setSize(170, 250);
            northern.setSize(170, 250);
            world.setSize(170, 250);
            southern.columns = 
            northern.columns = 
            world.columns = [ "Name", "Goals" ];
            southern.dataProvider = southernRoster;
            northern.dataProvider = northernRoster;            
            addChild(southern);
            addChild(northern);
            addChild(world);

            var northernLabel:Label = new Label();
            northernLabel.autoSize = TextFieldAutoSize.LEFT;
            northernLabel.text = "Southern Hemisphere";
            northernLabel.move(10,75);
            addChild(northernLabel);
            var southernLabel:Label = new Label();
            southernLabel.autoSize = TextFieldAutoSize.LEFT;
            southernLabel.text = "Northern Hemisphere";
            southernLabel.move(180,75);
            addChild(southernLabel);
            var majorLabel:Label = new Label();
            majorLabel.autoSize = TextFieldAutoSize.LEFT;
            majorLabel.text = "World";
            majorLabel.move(350,75);
            addChild(majorLabel);
        }
    }
}