Возвращаясь к гибкости, после того как вы не используете его некоторое время, пытаясь загрузить некоторый xml (сгенерированный php) в сетку данных с помощью провайдера данных, чтобы создать простую сетку, показывающую дневные максимальные и низкие температуры в течение недели. Я могу получить данные для отображения в моей таблице данных, но столбцы загружаются в случайном порядке. (поэтому пятница наступает раньше понедельника и т. д.) Поэтому я просто пытаюсь выяснить, как назначить конкретные данные конкретным полям данных.
Вот гибкий код; (обновлено до рабочего кода. Обратите внимание, что поля данных просто содержат имена тегов xml и / или имена тегов внутри этих тегов)
<?xml version="1.0" encoding="utf-8"?>
<fx:Declarations>
<s:HTTPService id="weather" url="http://localhost/weather/index.php" result="weather_resultHandler(event)" fault="weather_faultHandler(event)" />
</fx:Declarations>
<fx:Script>
<![CDATA[
import mx.collections.ArrayCollection;
import mx.controls.Alert;
import mx.rpc.events.FaultEvent;
import mx.rpc.events.ResultEvent;
//Setup array making sure to import Array Collection
[Bindable]
public var mydata:ArrayCollection = new ArrayCollection();
protected function weather_resultHandler(event:ResultEvent):void
{
trace(event.result.weather.city);
//mydata is our array and we are adding the info to it. Show the xml file.
mydata = event.result.weather.city;
}
protected function weather_faultHandler(event:FaultEvent):void
{
//import Alert so we can use this class
Alert.show("There is a problem with the data connection");
}
]]>
</fx:Script>
<mx:DataGrid x="49" y="226" id="weatherGrid" dataProvider="{mydata}">
<mx:columns>
<mx:DataGridColumn headerText="City" dataField="name"/>
<mx:DataGridColumn width="40" headerText="High" dataField="mon.high"/>
<mx:DataGridColumn width="40" headerText="Low" dataField="mon.low"/>
<mx:DataGridColumn width="40" headerText="High" dataField="tues.high"/>
<mx:DataGridColumn width="40" headerText="Low" dataField="tues.low"/>
<mx:DataGridColumn width="40" headerText="High" dataField="wed.high"/>
<mx:DataGridColumn width="40" headerText="Low" dataField="wed.low"/>
<mx:DataGridColumn width="40" headerText="High" dataField="thurs.high"/>
<mx:DataGridColumn width="40" headerText="Low" dataField="thurs.low"/>
<mx:DataGridColumn width="40" headerText="High" dataField="fri.high"/>
<mx:DataGridColumn width="40" headerText="Low" dataField="fri.low"/>
<mx:DataGridColumn width="40" headerText="High" dataField="sat.high"/>
<mx:DataGridColumn width="40" headerText="Low" dataField="sat.low"/>
<mx:DataGridColumn width="40" headerText="High" dataField="sun.high"/>
<mx:DataGridColumn width="40" headerText="Low" dataField="sun.low"/>
</mx:columns>
</mx:DataGrid>
И xml, который генерирует php, таков; (отредактировано на основе комментария)
<?xml version="1.0" encoding="utf-8" ?><weather><city>
<name>London</name>
<mon>
<high>-2</high>
<low>-10</low>
</mon>
<tues>
<high>-1</high>
<low>-5</low>
</tues>
<wed>
<high>0</high>
<low>-2</low>
</wed>
<thurs>
<high>3</high>
<low>0</low>
</thurs>
<fri>
<high>5</high>
<low>2</low>
</fri>
<sat>
<high>8</high>
<low>4</low>
</sat>
<sun>
<high>10</high>
<low>6</low>
</sun>
</city><city>
<name>Toronto</name>
<mon>
<high>-5</high>
<low>-10</low>
</mon>
<tues>
<high>-8</high>
<low>-15</low>
</tues>
<wed>
<high>-2</high>
<low>-7</low>
</wed>
<thurs>
<high>3</high>
<low>-3</low>
</thurs>
<fri>
<high>6</high>
<low>0</low>
</fri>
<sat>
<high>7</high>
<low>3</low>
</sat>
<sun>
<high>9</high>
<low>4</low>
</sun>
</city></weather>