Как связать URL-адрес изображения в Adobe Flex с данными из моей базы данных?

В настоящее время я извлекаю данные из своей базы данных, которая хранится в сетке данных. Я создал новый столбец, который использует ItemRenderer, и внутри него я хочу показать изображение профиля facebook. Я не хранил их в своей базе данных, потому что к ним можно получить публичный доступ. У меня есть идентификатор Facebook моего пользователя, поэтому я надеялся связать эти данные с требуемым URL-адресом для отображения правильного изображения.

Я пробовал оба следующих варианта: <s:Image id="fbImg" source="http://graph.facebook.com/{getUserResult.lastResult.facebookid}/picture?‌​type=normal"/>

и

<s:Image id="fbImg" source="{'http://graph.facebook.com/' + getUserResult.lastResult.facebookid + '/picture?type=normal'}"/>

Я получаю сообщение об ошибке 1120 (доступ к неопределенному свойству), но я не знаю, почему. Моя сетка данных заполняется с помощью <s:AsyncListView list="{getUserResult.lastResult}"/>, и мне удается извлекать другие данные из команд getUserResult.lastResult.databasefield, но не отображать изображение. getUserResult относится к результату функции php, которая вызывается для извлечения данных из базы данных. Любая помощь приветствуется. Спасибо.


person user1077544    schedule 05.05.2012    source источник


Ответы (2)


Скорее всего, ваш itemRenderer не имеет доступа к сервису getUserResult; и именно поэтому вы получаете сообщение об ошибке, в котором говорится, что вы обращаетесь к неопределенному свойству.

В itemRenderer вы должны использовать свойство данных для доступа к элементу вашего dataProvider, который ваш рендерер пытается отобразить.

Итак, скорее всего, вы хотите сделать что-то вроде этого:

<s:Image id="fbImg" source="http://graph.facebook.com/{data.facebookid}/picture?‌​type=normal"/>

Однако я настоятельно не рекомендую использовать Binding внутри itemRenderer. Вместо этого измените исходное свойство изображения в обработчике событий dataChange (мое предпочтение) или переопределив метод set data. Вот несколько ссылок об обработчиках элементов, которые могут помочь;

person JeffryHouser    schedule 05.05.2012

person    schedule
comment
привязываемая частная переменная - плохое поведение, но это только для демонстрации того, как использовать функцию набора данных itemRenderer - person Jarno Lahtinen; 05.05.2012
comment
Я изменил ваш код, чтобы он больше подходил для реального приложения. - person JeffryHouser; 06.05.2012