0

我需要通过 AS3 获取所选行中某一列的值,我该怎么做?

当我尝试时它一直返回 null grid.SelectedItem.text...

谢谢您的帮助!我需要能够按名称引用列,在本例中为“ID”。

编辑:这是否需要一个事件或什么?不应该有一个内置的方法吗?你会这么想...

4

1 回答 1

2

你能更具体一点吗?

您可以使用 selectedItem.yourProperty 从 DataGrid 获取所需的所有数据。你能发布一个片段,让事情变得清晰吗?

按名称引用列非常简单:

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

数据在 DataGrid 的 dataProvider 中,该列用于其他目的。

假设您向 DataGrid 添加了一个 ID 属性:

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;

如果您为CHANGE事件设置了处理程序,您应该能够通过selectedItem获取所需的数据:

myDataGrid.addEventListener(Event.CHANGE, changed);

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

HTH,乔治

于 2010-01-19T20:40:53.617 回答