PDA

Просмотр полной версии : ItemRenderer и установка обработчиков событий для LinkButton


RetKiller
05.11.2008, 15:42
Собсна,кусок кода :


<mx:HTTPService id="mediaSources" url="graphs.xml" fault="faultHandler(event)" result="sourcesResultHandler(event)" resultFormat="e4x"/>
<mx:HDividedBox x="0" y="0" width="100%" height="100%">
<mx:HBox width="25%" height="100%">
<mx:Panel width="100%" height="100%" layout="absolute" title="Media Sources">
<mx:TileList width="100%" height="100%"
dataProvider="{sourcesXML}"
labelField="title"
id="sourcesList"
iconField="thumbnail"
allowMultipleSelection="false"
columnCount="1" change="sourceSelect(event)">
<mx:itemRenderer>
<mx:Component>
<mx:VBox horizontalAlign="center" verticalAlign="middle">
<mx:Label text="{data.title}"/>
<mx:Image source="{data.thumbnail}" width="192" height="168" />
<mx:HBox>
<mx:LinkButton label="run" id="runGraph"/>
<mx:LinkButton label="stop" id="stopGraph" />
</mx:HBox>
</mx:VBox>
</mx:Component>
</mx:itemRenderer>


</mx:TileList>



Все получается красивенько-картиночки на месте,кнопки лежат где положено и прочая прочая...

Проблема наступает тогда,когда на LinkButton'ы требуется добавить обработчики событий. Вот,например,так:


<mx:LinkButton label="run" id="runGraph" click="graphAction()"/>


Выдается ошибка: 1180: Call to a possible underfined method graphAction.

Хотя он и определен выше. Понимаю,что чего-т ос областями видимости возможно,но не догоню никак :rolleyes:

Помогите,пожалуйста,опытные товарищи :)

wvxvw
05.11.2008, 20:52
Так а где же он определен? Это должен быть метод итем рендерера чтобы его можно было от туда вызвать...

RetKiller
06.11.2008, 10:39
Э-э...А можно тут немного поподробней?

Добавлено через 10 минут
Всё,спасибо.Проблема решена:)


<mx:itemRenderer>
<mx:Component>
<mx:VBox horizontalAlign="center" verticalAlign="middle">
<mx:Script>
<![CDATA[
import mx.controls.Alert;
]]>
</mx:Script>
<mx:Label text="{data.title}" id="fd"/>
<mx:Image source="{data.thumbnail}" width="192" height="168" />
<mx:HBox>
<mx:Script>
<![CDATA[
private function action():void
{
Alert.show("dsfsdf");
}
]]>
</mx:Script>
<mx:LinkButton label="run" id="runGraph" click="tr()" />
<mx:LinkButton label="stop" id="stopGraph" />
</mx:HBox>
</mx:VBox>
</mx:Component>
</mx:itemRenderer>



Спасибо большое.:drinks:

RetKiller
13.11.2008, 08:43
А в принципе возможно ли организовать так,чтобы можно было вызывать внешние по отношению к этому компоненту функции?