views:

340

answers:

1

I need to get the value of a certain column in the selected row via AS3, how can I do this?

It keeps returning null when I try grid.SelectedItem.text...

Thanks for the help! I need to be able to reference the column by name, in this case "ID".

EDIT: Does this require an event or something? Shouldn't there be a method for this built in? You'd think so...

+1  A: 

Can you be a bit more specific ?

You can get get all the data you need from the DataGrid using the selectedItem.yourProperty. Can you post a snippet that might make thing clear ?

Referencing a column by name is pretty easy:

myDataGrid.getColumnAt(myDataGrid.getColumnIndex('ID'))

The data is in the DataGrid's dataProvider, the column is there for other purposes.

Say you have an ID property added to the DataGrid:

var dp:DataProvider = new DataProvider();
for(var i:int = 0 ; i < 7; i++)
    dp.addItem({label:'label '+(i+1), ID:Math.random()});
myDataGrid.dataProvider = dp;

If you have setup a handler for the CHANGE event, you should be able to get the data you need through the selectedItem:

myDataGrid.addEventListener(Event.CHANGE, changed);

function changed(event:Event):void {
    trace('item at index ' + myDataGrid.selectedIndex + ' has ID: ' + myDataGrid.selectedItem.ID);
}

HTH, George

George Profenza
Okay, now I need to get the value of the text in the selected row within that column.
Cyclone
selectedItem should do it
George Profenza
Oh wow, that was easy. Thanks!
Cyclone