Bonjour,

Via Flash Builder 4.6 je te tente de récupérer dans un spark datagrid les données du base mysql (amfphp 2.1 étant le connecteur PHP).

Ci joint le code 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
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
 
<?xml version="1.0" encoding="utf-8"?>
<s:Application xmlns:fx="http://ns.adobe.com/mxml/2009"
			   xmlns:s="library://ns.adobe.com/flex/spark"
			   xmlns:mx="library://ns.adobe.com/flex/mx"
			   xmlns:contactservice="services.contactservice.*"
			   xmlns:valueObjects="valueObjects.*"
			   minWidth="750" 
			   			   >
 
	<fx:Script> 
		<![CDATA[ 
			import mx.controls.Alert;
			import mx.events.FlexEvent;
			import mx.rpc.events.FaultEvent;
			import mx.rpc.events.ResultEvent;
			import vo.ContactVO;
 
			private function onFaultHandler(event:FaultEvent):void
			{
				trace(event.fault.faultDetail);
			}
 
			protected function myGrid_creationCompleteHandler(event:FlexEvent):void
			{
				myGrid.dataProvider = myRemote.getContacts() ;
 
			}
 
		]]> 
	</fx:Script> 
 
	<fx:Declarations>
		<s:RemoteObject id="myRemote" destination="ContactService" source="ContactService"
						 endpoint="http://localhost/Contacts-debug/Amfphp/" showBusyCursor="true"
						 fault="onFaultHandler(event)" />
 
	</fx:Declarations>
 
		<s:DataGrid id="myGrid" 
					dataProvider="{ myRemote.getContacts.lastResult }"
					creationComplete="myGrid_creationCompleteHandler(event)"
					editable="true" 
					requestedRowCount="8" >
			<s:columns> 
				<s:ArrayList> 
					<s:GridColumn width="100" dataField="nomaffiche" headerText="Nom à afficher" ></s:GridColumn> 
					<s:GridColumn width="100" dataField="nom" headerText="Nom" ></s:GridColumn> 
					<s:GridColumn width="90" dataField="prenom" headerText="Prénom" ></s:GridColumn> 
					<s:GridColumn width="150" dataField="societe" headerText="Société" ></s:GridColumn> 
					<s:GridColumn width="90" dataField="portable" headerText="Portable" ></s:GridColumn> 
					<s:GridColumn width="100" dataField="email" headerText="Email" ></s:GridColumn> 
				</s:ArrayList> 
			</s:columns> 
		</s:DataGrid>
 
</s:Application>
Rien ne s'affiche dans le datagrid malheureusement. Mais quand je remplace le contenu du s:datagrid par le code suivant :
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
 
<mx:DataGrid id="myGrid" 
		dataProvider="{myRemote.getContacts.lastResult}"
		creationComplete="myGrid_creationCompleteHandler(event)"
		editable="true"
		rowCount="{ myRemote.getContacts.lastResult.length > 8 ? 8 : myRemote.getContacts.lastResult.length }"
					   >
			<mx:columns>
				<mx:DataGridColumn dataField="nomaffiche" editable="false"/>
				<mx:DataGridColumn dataField="nom" headerText="Nom"/>
				<mx:DataGridColumn dataField="prenom" headerText="Prénom"/>
				<mx:DataGridColumn dataField="societe" headerText="Société"/>
				<mx:DataGridColumn dataField="portable" headerText="Portable"/>
				<mx:DataGridColumn dataField="email" headerText="Email"/>
			</mx:columns>
</mx:DataGrid>
Le tableau se remplit bien des données mysql. Pourquoi cette différence de comportement entre un s:datagrid et un mx:datagrid ?

Cordialement.