Предполагая, что я правильно понимаю, о чем вы просите, и предполагая, что ваш dataProvider
является ArrayCollection
:
Чтобы получить индекс выбранной строки в вашем dataProvider:
var rowIndex:int = myArrayCollection.getItemIndex(myDataGrid.selectedItem);
Чтобы получить объект в вашем dataProvider из DataGrid:
var obj:Object = myDataGrid.selectedItem;
Поскольку DataGrid перезагружает свои itemRenderers
для повышения производительности памяти, для индекса нет конкретного индекса строки дляданный объект в вашем dataProvider
.Поскольку вы прокручиваете и записи больше не отображаются, эти записи itemRenderers
используются повторно для новых записей, которые прокручиваются в поле зрения.Вы можете прочитать больше о itemRenderers
и утилизации здесь .
РЕДАКТИРОВАТЬ: Вот ссылка на пример того, как фильтровать ваши данные в dataGrid:
http://www.flex -blog.com / arraycollection-filter-example /