フレックス3ウェブアプリケーションでは、州のクラスを使用して、同じページにサーバーからのデータを表示しています。フレックス:状態を変更すると表示が変わらない場合があります
MXMLコード部分はこれです:
<mx:states>
<mx:State name="Chart">
<mx:AddChild position="lastChild">
<ns2:ChartPanel right="10" top="182" left="10" bottom="10"></ns2:ChartPanel>
</mx:AddChild>
</mx:State>
<mx:State name="List">
<mx:AddChild position="lastChild">
<ns2:TabularPanel right="10" top="182" left="10" bottom="10"></ns2:TabularPanel>
</mx:AddChild>
</mx:State>
<mx:State name="ChatHistory">
<mx:AddChild position="lastChild">
<ns2:ChatHistoryPanel right="10" top="182" left="10" bottom="10"></ns2:ChatHistoryPanel>
</mx:AddChild>
</mx:State>
</mx:states>
ChartPanelTabularPanelとChatHistoryPanelデータグリッドを使用しながら、データを表示するAreaChartを使用しています。
私はcurrentStateのを設定することにより、状態を切り替える:
protected function onCriteriaChange(event:Event):void
{
if (criteria.selectedLabel == "Chat History")
{
refreshChatHistory();
currentState = "ChatHistory";
}
else
{
UsersModel.unique = criteria.selectedIndex;
if (btnChart.selected)
{
UsersDataController.getNumParticipants();
currentState = "Chart";
}
if (btnList.selected)
{
UsersDataController.getListOfParticipants();
currentState == "List";
}
}
}
初期状態は 'チャート' です。状態間の
切り替えは、私が「リスト」から「ChatHistory」から切り替える場合を除いて正常に動作します:
は、ここで問題です。ディスプレイは変更されずにChatHistoryPanelコンテンツに残ります。
私は、この問題が何であるか全く分かりません。私は解決策を見つけることができませんでした。 提案があれば幸いです。私がやろうとしていることに対しても回避策があります。
私が使用している:Flash Builderの4.5、Flex3、Windows 7は、クローム
感謝を!
オフェル
コードを切り替えるあなたの状態で
実際の切り替えを行うコードを表示します。これにViewStackを使用していない理由は何ですか? –
このコードを継承して自分の状態を追加したので、ViewStackを調べます。 currentStateを変更するためのコードスニペットが上記の投稿に追加されました。ありがとう! – oferbar