|
|
|||||
[+1 17.02.10]
Регистрация: Aug 2009
Адрес: Казахстан Усть-Каменогорск
Сообщений: 249
|
Датагрид и вставленная в неё кнопка
<mx:DataGrid left="10" top="41" right="10" bottom="10" dataProvider="{bookz}" id="DG" change="ShowImage()"> <mx:columns> <mx:DataGridColumn headerText="Код" width="30" dataField="id"/> <mx:DataGridColumn headerText="Название книги" width="300" dataField="name"/> <mx:DataGridColumn dataField="Скачать" width="50"> <mx:itemRenderer> <mx:Component> <mx:Button label="скачать" click="Downl();"/> </mx:Component> </mx:itemRenderer> </mx:DataGridColumn> </mx:columns> </mx:DataGrid> пишет 1180: Вызов предположительно неопределенного метода Downl. вот функция что я делаю нетак??? а если пробую функцию сделать статичной но вообще выдает непонятно что.... Спасибо тем кто прочитает и ответит
__________________
Flex+AS3 good) |
|
|||||
Считай, что
<mx:itemRenderer> <mx:Component> <mx:Button label="скачать" click="Downl();"/> </mx:Component> </mx:itemRenderer> |
|
|||||
[+1 17.02.10]
Регистрация: Aug 2009
Адрес: Казахстан Усть-Каменогорск
Сообщений: 249
|
Ага это да это теперь понятно я так и догадывался но теперь он выдает еще лучше
1061: Обращение к возможно неопределенному методу Downl через ссылку статического типа Class. ставлю статичной функцию он выдает кучу ошибок что незнает такое что внутри функции... и как это решить?
__________________
Flex+AS3 good) |
|
|||||
Регистрация: Nov 2009
Сообщений: 64
|
лично мне это очень не понравилось... :-(
<mx:DataGridColumn dataField="dg3"> <mx:itemRenderer> <mx:Component> <mx:Canvas width="100%" > <mx:Script> <![CDATA[ import mx.controls.Alert; private function showAlert():void { Alert.show(data.dg3); } ]]> </mx:Script> <mx:Label id="dg3text" text="{data.dg3}" /> <mx:Button alpha="-1" height="95%" width="95%" click="{showAlert()}" /> </mx:Canvas> </mx:Component> </mx:itemRenderer> </mx:DataGridColumn> |
|
|||||
[+1 17.02.10]
Регистрация: Aug 2009
Адрес: Казахстан Усть-Каменогорск
Сообщений: 249
|
Ага я это думал но проблемма в том что в функции идет обращение к тем компонентам(кнопки и тд) и он же опять выдаст ошибку я уверен... должен же быть способ вызывать его незасовывая пол приложеня внутрь итемрендера... есть такое или нет? и все же попробую вдруг выйдет) хатя врядли)
Добавлено через 13 минут ага ошибка та же что и тогда когда пробовал сделать функцию статичной((... блин а можно сделать одну функцию которая сама может читать все приложение и приложение с любого места её видет типа global иль еще как то?
__________________
Flex+AS3 good) |
|
|||||
Диспатчте своё событие по клику, а снаружи ловите.
__________________
2+2=5 |
|
|||||
[+1 17.02.10]
Регистрация: Aug 2009
Адрес: Казахстан Усть-Каменогорск
Сообщений: 249
|
А можно коротеньки пример а то что то непойму
__________________
Flex+AS3 good) |
|
|||||
Ну напишите свой итемРендерер, и в нём по клику шлите событие, что по кнопке кликнули. Событие конечно и так шлется, стандратное флексовое всплывающее MouseEvent.CLICK. Можете конечно и его ловить, но ловить его Вам надо будет на уровне датагрида, а у него и его компонентов так же есть это событие и Вам надо будет разбираться, кто именно его послал, можно, но не верно.
Поэтому лучше использовать своё собственное, где вы можете передать в проперти нужные Вам данные. Т.к. листенера Вы не сможете повешать на Вашу кнопку извне потому что у Вас нет там на него ссылки, то можно использовать всплывающее(bubbles) событие, и тогда его можно ловить на уровне датагрида. Вот собственно и все. В рендерере по клику dispatch. У датагрида addEventListener.
__________________
2+2=5 |
|
|||||
[+1 17.02.10]
Регистрация: Aug 2009
Адрес: Казахстан Усть-Каменогорск
Сообщений: 249
|
блин некогда неработал с этими dispatch очень прошу пример или ссылку на него
__________________
Flex+AS3 good) |
|
|||||
Выносишь itemRenderer в отдельный файл, вешаешь в нём обработчик MouseEvent.CLICK, в обработчике пишешь:
В основном классе на датагрид вешаешь addEventListender("itemRendererClicked", твояФункция) |
Часовой пояс GMT +4, время: 23:17. |
|
« Предыдущая тема | Следующая тема » |
|
|