2012-03-04 1 views
0

私はこれを行う方法を見つけるのに苦労しています。基本的には、すべての変数を割り当てたデータベースにデータをコミットしています。ただし、データのコミットが完了したら、次のビューに移動します。これまでのところ、別のボタンで次のビューにプッシュするようにプログラミングすると、私はそれを動作させることができますが、1つのボタンで自動化したいのです。Flexでデータベースにデータがコミットされたら、次の画面に移動するイベントを作成するにはどうすればよいですか?

は、これまでのところ私のコードは次のようになります。それは、コミットのために100%の作品

  protected function btnClientSubmit_clickHandler(event:MouseEvent):void 
     { 
      repID = RepID.toString(); 
      CompPass = CompID.toString(); 
      clientPass = ClientID.toString(); 
      compaID = parseInt(CompPass); 
      sessions.SessionID = SessionID.toString(); 
      sessions.RepID = parseInt(repID); 
      sessions.CompanyID = compaID; 
      sessions.CustID = clientID; 
      sessions.Status = 'Open'; 
      createSessionsResult.token = sessionsService.createSessions(sessions); 
      createSessionsResult.token = sessionsService.commit(); 
      navigator.pushView(CheckOut); 
     } 

ので、それは問題ではありませんので、私は他のすべてのコードが含まれていませんでした。私の問題は、プログラムがあまりにも早く次のビューにプッシュしていて、データの挿入が中断されているという事実があります。

+0

なぜSQL接続のイベントリスナーを追加して、そのイベントハンドラ関数で画面を変更しようとしますか? – Triode

答えて

0

createSessionsResultのresultHandler関数のように試してみましたか?

import mx.rpc.events.ResultEvent; 

<s:CallResponder id="createSessionsResult" result="createSessionsResult_resultHandler(event)"/> 

protected function createSessionsResult_resultHandler(event:ResultEvent):void 
{ 
navigator.pushView(CheckOut); 
} 
+0

私はそれを考えていませんでしたが、私はまだFlexには新しく、試してみます:) – JESlabbert

+0

汗をかくのではなく、私も新しいです! 戻ってきて答えを受け入れてください: – Aaron

+0

これは少し遊んでいましたが、正しい答えでした。ありがとう – JESlabbert

0

Flexは非同期イベントハンドラで動作します。この種の関数には常にCOMPLETEイベントがあります。

関連する問題