질문 : 각 구성 요소가 들어있는 3 개의 색인이있는 아코디언이 있습니다. 그 구성 요소는 항상 동일한 것입니다 (일반 datagrid). 이 DataGrid는 PHP와 JSON을 통해 데이터를받습니다.Flex Datagrid가 업데이트되지 않습니다
내 Accordion의 SelectedIndex가 변경되면 내 DataGrid의 데이터가 변경되어야합니다. 내가 아코디언 - 인덱스를 변경할 때마다 $typeId
지금 selectedIndex의
if(isset($_POST['accIndex'])){
$typeId = mysql_real_escape_string($_POST['accIndex']);
} else {
$typeId = 1;
}
에게 있습니다
$query = "SELECT * FROM gerecht where typeID = " . $typeId;
는, 데이터가 동일하게 유지 :
이
는 PHP는 쿼리입니다. 여기 내 플렉스 코드 : 뭔가를 추측하고있어<?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" minWidth="955" minHeight="600" xmlns:components="components.*" initialize="getData.send();">
<fx:Declarations>
<!-- Place non-visual elements (e.g., services, value objects) here -->
<mx:HTTPService id="getData" url="http://localhost/P006_Project/Query.php"
useProxy="false" method="POST" resultFormat="text" result="getPHPData(event)" />
<mx:HTTPService id="sendData" url="http://localhost/P006_Project/Query.php"
useProxy="false" method="POST" result="sendData_resultHandler(event)">
<mx:request xmlns="">
<accIndex>
{accItems.selectedIndex + 1}
</accIndex>
</mx:request>
</mx:HTTPService>
<s:ArrayCollection id="acItems" source="{dataArray.source}" />
</fx:Declarations>
<fx:Script>
<![CDATA[
import mx.collections.ArrayCollection;
import mx.controls.Alert;
import mx.controls.Text;
import mx.events.FlexEvent;
import mx.events.IndexChangedEvent;
import mx.rpc.events.ResultEvent;
[Bindable]private var dataArray:ArrayCollection = new ArrayCollection();
private function initDataGrid():void
{
getData.send();
}
private function getPHPData(event:ResultEvent):void
{
var rawArray:Array;
var rawData:String = String(event.result);
rawArray = JSON.parse(rawData) as Array;
dataArray = new ArrayCollection(rawArray);
}
protected function accItems_changeHandler(event:IndexChangedEvent):void
{
// TODO Auto-generated method stub
sendData.send();
trace(acItems);
}
protected function sendData_resultHandler(event:ResultEvent):void
{
// TODO Auto-generated method stub
Alert.show(event.result.toString());
}
]]>
</fx:Script>
<mx:Accordion id="accItems" creationPolicy="auto" change="accItems_changeHandler(event)">
<s:NavigatorContent label="Frisdranken">
<components:FULLTESTCOMP acItems="{acItems}" creationComplete="{initDataGrid()}"/>
</s:NavigatorContent>
<s:NavigatorContent label="Bieren (vat)">
<components:FULLTESTCOMP acItems="{acItems}" creationComplete="{initDataGrid()}"/>
</s:NavigatorContent>
</mx:Accordion>
</s:Application>
이 잘못된 것 중 하나에 : - selectedIndex의 수신 PHP는? - 또는 flex가 새 데이터로 DataGrid를 업데이트 할 수 없습니까?
'getPHPData'fn이 예상되는 값을보고 있습니까? IE 'dataArray'에는 필요한 내용이 들어 있습니까? – ethrbunny
내 'dataArray'의 내용이 항상 같은 상태로 유지되는 것 같아서 selectedIndex가 PHP 파일에 도달하지 못했다고 생각하십니까? – ZackWhite
소리가 좋아. 따라서 다음 단계는 값이 전송되는지 여부를 파악하는 것입니다. 나는 params가 지나가는 것을 보지 못한다. 이것이 중요한지 확실하지 않습니다. – ethrbunny