나는 일종의 rangking을 만들려고합니다. 이를 위해, 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 개의 새로운 vars에 올바른 정보가 있다는 것을 알 수 있지만 DataGrid의 dataProvider가 klassementKern이어야한다고 말하면서 "유형 XML 값의 암시 적 강제 변환이 발생했습니다. 관련이없는 형식 mx.collections : IList "
왜이 문제가 있으며 어떻게 해결할 수 있는지 알고 있습니까? harcoded XML 상수와 나를 위해
<?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
크롬에서 php 스크립트를 열면 올바른 XML 구조가 생깁니다. 플래시 빌더 klassement에서 디버깅 할 때 klassementKern 및 klassementReserve가 올바른 정보로 채워지지만 DataGrid의 정보를 얻지 못합니다. 오늘 오후에 온라인에 올렸어. php 파일에 대한 링크는 http://www.dehertoghnathalie2011.dreamhosters.com/flexScripts/klassement.php입니다 (도메인 이름은 다른 것이었지만 PHP 파일을 같은 계정, 새 폴더에 넣어야했습니다). 지금은 데이터 격자 및 제목을 하드 코딩하여 해결했지만 httpsService –