Bonjour, je voudrais affecté une fonction créée dans une application flex à un item renderer créé par un actionscript.
Le but, c'est de supprimer la ligne du DataGrid par click sur le bouton item renderer.
item renderer
application flex
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24 package Components { import flash.events.*; import mx.controls.Button; public class RendererButton extends Button { [Bindable] public var handleDelete:Function;//mon soucis se trouve là public function RendererButton() { label = "Delete"; id = "btDeleteDate"; } //Suppression Date override protected function clickHandler(event:MouseEvent):void { handleDelete.apply(null, [data]); } } }
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39 <?xml version="1.0" encoding="utf-8"?> <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="vertical" applicationComplete="onLoad()" xmlns:local="*" visible="{contractService.findAllContractType.lastResult != null}"> <mx:Script> <![CDATA[ ... ... //Delete line [Bindable] public function handleDelete(event:Event):void{ var i:int = aDG.selectedIndex; if (event.target.id == "btDeleteDate"){ if (aDG.selectedIndex != -1){ delete(contract.validityPeriods[i]); } this.dispatchEvent(new Event("updateContract")) } } ]]> </mx:Script> ... ... mx:DataGrid id="aDG" width="100%" height="100%" dataProvider="{contract.validityPeriods}" change="addToCurrent(event)"> <mx:columns> <mx:DataGridColumn dataField="startDate" headerText="StartDate" editable="true"/> <mx:DataGridColumn dataField="endDate" headerText="EndDate" editable="true"/> <mx:DataGridColumn dataField="stateFlag" headerText="StateFlag" editable="true"/> <mx:DataGridColumn headerText="Control" itemRenderer="Components.RendererButton"/> </mx:columns> </mx:DataGrid> ... ... </mx:Application>
ERREUR RENCONTREE
Comment affecter la fonction handleDelete(event:Event) à ma variable dans mon actionscript??TypeError: Error #1009: Il est impossible d'accéder à la propriété ou à la méthode d'une référence d'objet nul.
at Components::RendererButton/clickHandler()[/Users/oracle/Workspaces/MyEclipse 7.0/tutoWebService/src/Components/RendererButton.as:20]
Pour être plus clair, l'idée c'est de faire un binding de la fonction sur le composant ActionScript créé.
Merci pour vos suggestions
Partager