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

DataChangeEvent  - AS3 Flash

Packagefl.events
Classpublic class DataChangeEvent
InheritanceDataChangeEvent Inheritance Event Inheritance Object

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

The DataChangeEvent class defines the event that is dispatched when the data that is associated with a component changes. This event is used by the List, DataGrid, TileList, and ComboBox components.

This class provides the following event:

  • DataChangeEvent.DATA_CHANGE: dispatched when the component data changes.

View the examples

Related API Elements



Public Properties
 PropertyDefined By
 Inheritedbubbles : Boolean
[read-only] Indicates whether an event is a bubbling event.
Event
 Inheritedcancelable : Boolean
[read-only] Indicates whether the behavior associated with the event can be prevented.
Event
  changeType : String
[read-only] Gets the type of the change that triggered the event.
DataChangeEvent
 Inheritedconstructor : Object
A reference to the class object or constructor function for a given object instance.
Object
 InheritedcurrentTarget : Object
[read-only] The object that is actively processing the Event object with an event listener.
Event
  endIndex : uint
[read-only] Gets the index of the last changed item in the array of items that were changed.
DataChangeEvent
 InheritedeventPhase : uint
[read-only] The current phase in the event flow.
Event
  items : Array
[read-only] Gets an array that contains the changed items.
DataChangeEvent
  startIndex : uint
[read-only] Gets the index of the first changed item in the array of items that were changed.
DataChangeEvent
 Inheritedtarget : Object
[read-only] The event target.
Event
 Inheritedtype : String
[read-only] The type of event.
Event
Public Methods
 MethodDefined By
  
DataChangeEvent(eventType:String, changeType:String, items:Array, startIndex:int = -1, endIndex:int = -1)
Creates a new DataChangeEvent object with the specified parameters.
DataChangeEvent
  
[override] Creates a copy of the DataEvent object and sets the value of each parameter to match that of the original.
DataChangeEvent
 Inherited
formatToString(className:String, ... arguments):String
A utility function for implementing the toString() method in custom ActionScript 3.0 Event classes.
Event
 Inherited
Indicates whether an object has a specified property defined.
Object
 Inherited
Checks whether the preventDefault() method has been called on the event.
Event
 Inherited
Indicates whether an instance of the Object class is in the prototype chain of the object specified as the parameter.
Object
 Inherited
Cancels an event's default behavior if that behavior can be canceled.
Event
 Inherited
Indicates whether the specified property exists and is enumerable.
Object
 Inherited
Sets the availability of a dynamic property for loop operations.
Object
 Inherited
Prevents processing of any event listeners in the current node and any subsequent nodes in the event flow.
Event
 Inherited
Prevents processing of any event listeners in nodes subsequent to the current node in the event flow.
Event
 Inherited
Returns the string representation of this object, formatted according to locale-specific conventions.
Object
  
[override] Returns a string that contains all the properties of the DataChangeEvent object.
DataChangeEvent
 Inherited
Returns the primitive value of the specified object.
Object
Public Constants
 ConstantDefined By
  DATA_CHANGE : String = "dataChange"
[static] Defines the value of the type property of a dataChange event object.
DataChangeEvent
  PRE_DATA_CHANGE : String = "preDataChange"
[static] Defines the value of the type property of a preDataChange event object.
DataChangeEvent
Property Detail

changeType

property
changeType:String  [read-only]

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

Gets the type of the change that triggered the event. The DataChangeType class defines the possible values for this property.



Implementation
    public function get changeType():String

Related API Elements

endIndex

property 
endIndex:uint  [read-only]

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

Gets the index of the last changed item in the array of items that were changed.



Implementation
    public function get endIndex():uint

Related API Elements

items

property 
items:Array  [read-only]

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

Gets an array that contains the changed items.



Implementation
    public function get items():Array

startIndex

property 
startIndex:uint  [read-only]

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

Gets the index of the first changed item in the array of items that were changed.



Implementation
    public function get startIndex():uint

Related API Elements

Constructor Detail

DataChangeEvent

()Constructor
public function DataChangeEvent(eventType:String, changeType:String, items:Array, startIndex:int = -1, endIndex:int = -1)

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

Creates a new DataChangeEvent object with the specified parameters.

Parameters
eventType:String — The type of change event.
 
changeType:String — The type of change that was made. The DataChangeType class defines the possible values for this parameter.
 
items:Array — A list of items that were changed.
 
startIndex:int (default = -1) — The index of the first item that was changed.
 
endIndex:int (default = -1) — The index of the last item that was changed.
Method Detail

clone

()method
override public function clone():Event

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 DataEvent object and sets the value of each parameter to match that of the original.

Returns
Event — A new DataChangeEvent object with property values that match those of the original.

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

Returns a string that contains all the properties of the DataChangeEvent object. The string is in the following format:

[DataChangeEvent type=value changeType=value startIndex=value endIndex=value bubbles=value cancelable=value]

Returns
String — A string that contains all the properties of the DataChangeEvent object.
Constant Detail

DATA_CHANGE

Constant
public static const DATA_CHANGE:String = "dataChange"

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

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

PRE_DATA_CHANGE

Constant 
public static const PRE_DATA_CHANGE:String = "preDataChange"

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

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

DataChangeEventExample.as

This example demonstrates how to listen to the DataChangeEvent broadcast by the DataProvider, and use its events to populate a DataGrid manually.
  1. Add a DataGrid and Buttons classes to the library.
  2. Save this code as DataChangeEventExample.as in the same directory as your FLA.
  3. Set the DocumentClass in the FLA to DataChangeEventExample.
package
{
    import flash.display.Sprite;
    import flash.events.MouseEvent;
    import fl.data.DataProvider;
    import fl.events.DataChangeEvent;
    import fl.controls.DataGrid;
    import fl.controls.Button;
    
    public class DataChangeEventExample extends Sprite
    {
        private var dg:DataGrid;
        private var dp:DataProvider;
        private var names:Array = [ "Mary", "Bob", "Sue", "Joe" ];
        
        public function DataChangeEventExample() {
            dp = new DataProvider();
            dp.addEventListener(DataChangeEvent.DATA_CHANGE,dataChanged);
        
            dg = new DataGrid();
            dg.move(10,45);
            dg.setSize(300,250);
            dg.columns = [ "name", "phone", "email" ];
            addChild(dg);

            var addContactBtn:Button = new Button();
            addContactBtn.label = "Add Contact";
            addContactBtn.move(10,10);
            addContactBtn.addEventListener(MouseEvent.CLICK, addContact);
            addChild(addContactBtn);            
        }
        
        private function getRandomPhone():String {
            return randomDigit()+randomDigit()+randomDigit()+"-"+randomDigit()+randomDigit()+randomDigit()+"-"+randomDigit()+randomDigit()+randomDigit()+randomDigit();    
        }
        private function randomDigit():String {
            return String(Math.round(Math.random()*10)%10);    
        }
        private function getRandomName():String {
            return names[Math.round(Math.random()*names.length)%names.length];    
        }
        private function addContact(e:MouseEvent):void {
            var randomName:String = getRandomName()
            dp.addItem( { name: randomName, phone: getRandomPhone(), email: randomName + "@fictitious.com" } );
        }
        private function dataChanged(e:DataChangeEvent):void {
            var changedItems:Array = e.items;
            dg.addItem(changedItems[0]);
        }
    }
}