DataGrid.cellFocusIn

Availability

Flash Player 6 (6.0.79.0).

Edition

Flash MX Professional 2004.

Usage

listenerObject = new Object();
listenerObject.cellFocusIn = function(eventObject){
    // Insert your code here.
}
myDataGridInstance.addEventListener("cellFocusIn", listenerObject)

Description

Event; broadcast to all registered listeners when a particular cell receives focus. This event is broadcast after any previously edited cell's editCell and cellFocusOut events are broadcast.

Components use a dispatcher/listener event model. When a DataGrid component dispatches a cellFocusIn event, the event is handled by a function (also called a handler) that is attached to a listener object (listenerObject) that you create. You call the addEventListener() method and pass it the name of the handler as a parameter.

When the event is triggered, it automatically passes an event object (eventObject) to the handler. Each event object has properties that contain information about the event. You can use these properties to write code that handles the event. The DataGrid.cellFocusIn event's event object has three additional properties:

columnIndex A number that indicates the index of the target column.

itemIndex A number that indicates the index of the target row.

type The string "cellFocusIn".

For more information, see EventDispatcher class.

Example

In the following example, a handler called dgListener is defined and passed to my_dg.addEventListener() as the second parameter. When the cellFocusIn event is broadcast, a trace statement is sent to the Output panel. With a DataGrid instance named my_dg on the Stage, paste the following code in the first frame of the main timeline:

// Set up sample data.
var myDP_array:Array = new Array();
myDP_array.push({name:"Clark", score:3135});
myDP_array.push({name:"Bruce", score:403});
myDP_array.push({name:"Peter", score:25});

my_dg.dataProvider = myDP_array;

// Make DataGrid editable.
my_dg.editable = true;

// Create listener object.
var dgListener:Object = new Object();
dgListener.cellFocusIn = function(evt_obj:Object) {
    var cell_str:String = "(" + evt_obj.columnIndex + ", " + evt_obj.itemIndex + ")";
    trace("The cell at " + cell_str + " has gained focus");
};

// Add listener.
my_dg.addEventListener("cellFocusIn", dgListener);

NOTE

The grid must be editable for this code to work, and the event is broadcast only for editable cells. So if you have two columns and only one of them is editable (for example, "score"), then clicking in a row in the "name" column would not trigger this event.