У меня есть сетка, заполненная> 1000 наборов данных. один столбец использует пользовательский itemRenderer, который используется для отображения значения внешнего ключа.
Все наборы данных, которые отображаются без прокрутки, отображаются с правильной информацией. Но когда дело доходит до прокрутки, некоторые наборы данных будут отображать неправильное значение в itemRenderer. Насколько я понял, это из-за повторного использования itemRenderers.
Но как бы многократно ни использовалось, отображение неверной информации не может быть результатом.
Так как мне избавиться от этой проблемы?
РЕДАКТИРОВАТЬ: мне удалось избавиться от этой проблемы, но я все равно опубликую некоторый код, чтобы указать мой план:
<?xml version="1.0" encoding="utf-8"?>
<mx:Script>
<![CDATA[
private var dataAccess : DataAccess = DataAccess.getInstance();
private var foreign : ArrayCollection = new ArrayCollection();
private function onCreationComplete() : void
{
dataAccess.service.getForeignDatasets.addEventListener("result", onGetForeignDatasets);
dataAccess.service.getForeignDatasets();
}
private function onGetForeignDatasets(event : ResultEvent) : void
{
foreign = event.result as ArrayCollection;
preSelect();
}
//gets the entry from the foreign entity which matches
//the foreign key in this.data
private function preSelect() : void
{
for each(var obj : Object in foreign)
{
if(obj.id == data.foreignKey))
{
value.text = obj.name;
return;
}
}
value.text = "";
}
private function onDataChange() : void
{
preSelect();
}
]]>
</mx:Script>
Я оставил весь ненужный код ...
Код выше работает и решает проблему отображения неверных данных.
Есть еще идеи для реализации этой функциональности?