私は何らかの並べ替えを作成しようとしています。このために、私はPHPファイルで作成するマルチレベルXMLを使用しています。XMLListCollectionをフィルタリングする際の問題
<klassement>
<reeks>
<reeksId>1</reeksId>
<reeksNaam>3de klasse</reeksNaam>
<ploeg>
<ploegNaam>Foo</ploegNaam>
<goalsMade>60</goalsMade>
<points>12</points>
</ploeg>
<ploeg>
<ploegNaam>bar</ploegNaam>
<goalsMade>10</goalsMade>
<points>2</points>
</ploeg>
</reeks>
<reeks>
<reeksId>2</reeksId>
<reeksNaam>3de klasse res</reeksNaam>
<ploeg>
<ploegNaam>Foo res</ploegNaam>
<goalsMade>50</goalsMade>
<points>12</points>
</ploeg>
<ploeg>
<ploegNaam>bar</ploegNaam>
<goalsMade>40</goalsMade>
<points>8</points>
</ploeg>
</reeks>
</klassement>
など(などがポイントになります)私はアプリケーションでhttpServiceの情報を取得します。その後、私はその情報をXMLListCollectionに入れます。今私はレベルを分離しようとしています(おそらく正しい方法ではありませんが、機能します)。私がデバッグするとき、私はそれらの2つの新しいバールには正しいものがあることがわかりますが、私がデータグリッドのdataProviderをklassementKernにする必要があるとき、私はエラー "タイプXMLの値を暗黙の強制無関係な型mx.collections:IList "
これはなぜか、これをどのように修正できるのか誰かが知っていますか?
<?xml version="1.0" encoding="utf-8"?>
<s:NavigatorContent xmlns:fx="http://ns.adobe.com/mxml/2009"
xmlns:s="library://ns.adobe.com/flex/spark"
xmlns:mx="library://ns.adobe.com/flex/mx"
height="600"
skinClass="skins.ListContainerSkin"
creationComplete="httpKlassement.send()">
<fx:Declarations>
<s:HTTPService id="httpKlassement"
url="http://localhost/flexScripts/klassement.php"
resultFormat="e4x"
result="showKlassement(event)"/>
</fx:Declarations>
<fx:Script>
<![CDATA[
import mx.collections.XMLListCollection;
import mx.rpc.events.ResultEvent;
[Bindable]
private var klassement:XMLListCollection;
[Bindable]
private var klassementKern:XML;
[Bindable]
private var klassementReserve:XML;
protected function showKlassement(event:ResultEvent):void
{
klassement = new XMLListCollection(event.result.reeks);
klassementKern = klassement[0];
klassementReserve = klassement[1];
}
]]>
</fx:Script>
<s:layout>
<s:VerticalLayout gap="10" paddingLeft="10" paddingTop="10" paddingRight="10" paddingBottom="10"/>
</s:layout>
<s:DataGrid width="760" height="230" dataProvider="{klassementKern}">
<s:columns>
<s:ArrayCollection>
<s:GridColumn headerText="Ploeg" dataField="ploeg.ploegNaam"/>
<s:GridColumn headerText="WG" dataField="ploeg.aantalGespeeld"/>
<s:GridColumn headerText="W" dataField="ploeg.aantalGewonnen"/>
<s:GridColumn headerText="V" dataField="ploeg.aantalVerloren"/>
<s:GridColumn headerText="G" dataField="ploeg.aantalGelijk"/>
<s:GridColumn headerText="D+" dataField="ploeg.goalenGemaakt"/>
<s:GridColumn headerText="D-" dataField="ploeg.goalenTegen"/>
<s:GridColumn headerText="Punten" dataField="ploeg.punten"/>
<s:GridColumn headerText="DS" dataField="ploeg.doelpuntensaldo"/>
</s:ArrayCollection>
</s:columns>
</s:DataGrid>
</s:NavigatorContent>
Entschuldi、焼きそばNiederländischイストのNICHTので – SQLiteNoob
はあなたが提供しているXMLでファイルdata.xmlファイルを作成することで試してみました...腸。その作業、エラーはありません。 klassement.phpが適切なxmlを提供していることを確認してください。あなたは火かき棒でサーバーの応答を確認できます。 – Diode
私はchromeでphpスクリプトを開くと、私は正しいビルドklassement、klassementKernとklassementReserveが正しい情報で満たされているデバッグするときに私に正しいxml構造を与えますが、私はDataGridの情報を取得しません。私は今日の午後にオンラインにしました。 phpファイルへのリンクはhttp://www.dehertoghnathalie2011.dreamhosters.com/flexScripts/klassement.phpです(ドメイン名は別のものですが、同じアカウント、新しいフォルダにphpファイルをドロップしなければなりません)。今はデータグリッドとタイトルをハードコーディングして解決しましたが、httpsService –