问题
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:
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
来源:https://stackoverflow.com/questions/2096617/datagrid-selected-row-at-a-certain-column-as3