Flex DataGrid: получить объект данных из индекса строки и наоборот? - PullRequest
0 голосов
/ 11 февраля 2011

Используя стандартный Flex DataGrid, существует ли простой способ определения индекса строки сетки по объекту данных или по индексу объекта данных в поставщике данных?С другой стороны, есть ли способ получить индекс объекта в поставщике данных на основе индекса строки DataGrid?Заранее спасибо!

1 Ответ

1 голос
/ 11 февраля 2011

Предполагая, что я правильно понимаю, о чем вы просите, и предполагая, что ваш 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 /

...