Исходя из результатов трассировки, создается впечатление, что вы извлекаете неправильное значение из вашего dataProvider для установки в качестве источника. Не видя ваших фактических данных, трудно понять, какая именно проблема может быть.
Тем не менее, я бы немного переделал ваш itemRenderer. Во-первых, вам не нужно помещать одно изображение в HBox. Просто используйте изображение. Кроме того, вам не нужно указывать высоту в Renderer, DataGrid должен заботиться о таком позиционировании.
Я также удалил слушатель creationComplete, так как в нем не было никакого кода. И вместо того, чтобы использовать привязку, я просто устанавливаю свойство soruce для компонента в методе набора данных. Я также установил значение super.data, а не обработанное значение; и я выполнил обработку при установке источника значения. Обновленный код выглядит так:
<?xml version="1.0" encoding="utf-8"?>
<mx:Image xmlns:mx="http://www.adobe.com/2006/mxml"
>
<mx:Script>
<![CDATA[
import components.content.contents.containers.ContentContainerSoundCloud;
import mx.core.Application;
import mx.controls.dataGridClasses.DataGridColumn;
import com.adobe.viewsource.ViewSource;
[Bindable]
public var imgPath:String;
override public function set data(value:Object):void
{
super.data = value;
this.source =value.track["artwork-url"];
trace(imgPath)
}
]]>
</mx:Script>
</mx:Image>
Мой предпочтительный метод в itemRenderers - прослушивание события dataChange, однако это всего лишь личные предпочтения. Нет ничего плохого в переопределении метода набора данных.