Bonjour,

Je gère une liste de fournisseur dans une TileList avec un TextArea, le tous dans une VBox. La TileList contient un renderItem contenant des ComboBox qui se charge dynamiquement via le binding avec {data.frnsList}.

Voici le code :

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
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
<?xml version="1.0" encoding="utf-8"?>
<mx:VBox xmlns:mx="http://www.adobe.com/2006/mxml" width="100%" height="100%">
	<mx:TextArea id="report" width="100%" height="100%"/>
 
	<mx:TileList
		id="frnsTileList"
		dataProvider="{data.frnsList}"
		width="100%" xmlns:renderer="renderer.*">
		<mx:Script>
			<![CDATA[
				import mx.controls.TextArea;
 
				/*	private function initTileList(event:Event):void {
					var ct:FrnsCBRenderer = new FrnsCBRenderer();
					event.target.addChild(ct);
				} */
			]]>
		</mx:Script>
		<mx:itemRenderer>
			<mx:Component>
				<renderer:FrnsCBRenderer preinitialize="loadFrns(event)" height="100%" selectCRUD="selectFrns(event);">
					<mx:Script>
						<![CDATA[
							import events.CRUDEvent;
							import mx.controls.Alert;
							import mx.effects.easing.Elastic;
							import renderer.FrnsCBRenderer;
							import mx.controls.Alert;
							import mx.collections.ArrayCollection;
							import mx.utils.ObjectProxy;
							import mx.controls.TextArea;
 
							private function loadFrns(event:Event):void {
 
								var pfrnsList:ArrayCollection = null;
			    				var str:String = "";
 
								for each (var obj:Object in pfrnsList) {
									str += "(" + obj.Id + ")" + obj.Marque + ";";
								}
 
								report.text += "TileList>loadFrns(" + pfrnsList.length + "element)\n";
								report.text += "pfrnsList(" + pfrnsList.length + "element)" + str + "\n";
 
								if (pfrnsList != null) {
									if (pfrnsList.getItemIndex(null) < 0) { 
										pfrnsList.addItem(null);
									}
								}					
							}
 
							private function selectFrns(event:CRUDEvent):void {
				                Alert.show("Vous avez selectionné " + event.Libelle, "ID=" + event.Id.toString());
				            }
						]]>
					</mx:Script>
				</renderer:FrnsCBRenderer>
			</mx:Component>
		</mx:itemRenderer>
	</mx:TileList>	
</mx:VBox>
A partir du code AS dans mon renderItem j'aimerai faire référence a ma TextArea "report" mais j'ai un problème de porté depuis le block itemRenderer. Il m'affiche le message d'erreur : "Accès à la propriété non définie report."

J'ai du mal a comprendre comment on peut avoir accès a des membres public?
Comment peut on avoir accès au membre ou méthode de niveau supérieur?