2012-05-09 4 views
0

FlashBuilder 4.6、Coldfusion 9およびSql Server 2005を使用して、1つの個人のデータを1年ごとに折れ線グラフに取り込みます。これは、データプロバイダで固定文字列を使用するとうまく動作しますが、利用可能なすべての個人のドロップダウンリストを使用して個人を選択したいとします。線図に使用される個々の名前は、ドロップダウン内の個人と同じ形式です。 flashbuilderのデータ/サービスは、フィールドをMS Sql Serverテーブルでvarchar(50)として表示する文字列として表示します。FlashBuilder 4.6でlineItemにドロップダウンメニューからselectedItemを使用してどのようにしてグラフを埋め込むのですか

添付コードは、getpool_ratings_yr1Result.token = pool_ratings_yr1Service.getpool_ratings_yr1( 'greenleaf')が個々の 'greenleaf'を選択していることを示しています。ドロップダウンからselectedItemと置き換えてグラフを動的にしたいと思います。私は( 'greenleaf')を({dropdownList.selectedItem})で置き換えようとしましたが、動作させるためにはイベントを起動する必要があります。

私はFlashBuilderとFlexの初心者ですが、読んだことが多く、決定的なものは見つかりませんでした。

ご協力いただければ幸いです。 おかげで、機能を追加すること ウィル

<?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" 
       xmlns:pool_ratings_yr1service="services.pool_ratings_yr1service.*" 
       xmlns:pool_playerservice="services.pool_playerservice.*" 
       minWidth="955" minHeight="600"> 
    <fx:Script> 
     <![CDATA[ 
      import mx.controls.Alert; 
      import mx.events.FlexEvent; 

      protected function linechart1_creationCompleteHandler(event:FlexEvent):void 
      { 
       getpool_ratings_yr1Result.token = pool_ratings_yr1Service.getpool_ratings_yr1('greenleaf'); 
      } 


      protected function dropDownList_creationCompleteHandler(event:FlexEvent):void 
      { 
       getAllpool_playerResult.token = pool_playerService.getAllpool_player(); 
      } 

     ]]> 
    </fx:Script> 
    <fx:Declarations> 
     <s:CallResponder id="getpool_ratings_yr1Result"/> 
     <pool_ratings_yr1service:Pool_ratings_yr1Service id="pool_ratings_yr1Service" 
                 fault="Alert.show(event.fault.faultString + '\n' + event.fault.faultDetail)" 
                 showBusyCursor="true"/> 
     <s:CallResponder id="getAllpool_ratings_yr1Result"/> 
     <s:CallResponder id="getAllpool_playerResult"/> 
     <pool_playerservice:Pool_playerService id="pool_playerService" 
               fault="Alert.show(event.fault.faultString + '\n' + event.fault.faultDetail)" 
               showBusyCursor="true"/> 
     <!-- Place non-visual elements (e.g., services, value objects) here --> 
    </fx:Declarations> 
    <mx:LineChart id="linechart1" x="234" y="97" 
        creationComplete="linechart1_creationCompleteHandler(event)" 
        dataProvider="{getpool_ratings_yr1Result.lastResult}" showDataTips="true"> 
     <mx:series> 
      <mx:LineSeries id="lineSeries" displayName="Series 1" yField="avg_rating"/> 
     </mx:series> 
     <mx:horizontalAxis> 
      <mx:CategoryAxis id="categoryAxis" categoryField="yr"/> 
     </mx:horizontalAxis> 
    </mx:LineChart> 
    <mx:Legend dataProvider="{linechart1}"/> 
    <s:DropDownList id="dropDownList" x="73" y="133" 
        creationComplete="dropDownList_creationCompleteHandler(event)" 
        labelField="lname"> 
     <s:AsyncListView list="{getAllpool_playerResult.lastResult}"/> 
    </s:DropDownList> 
</s:Application> 

答えて

0

試してみてください。あなたのDropDownListの

private function comboBoxChange():void 
{ 
    var selectedName:String = dropDownList.selectedItem; 
    getpool_ratings_yr1Result.token = pool_ratings_yr1Service.getpool_ratings_yr1(selectedName); 

} 

その後は、変更のEventListenerを追加します。アドバイス、ドムのため

<s:DropDownList id="dropDownList" x="73" y="133" 
       creationComplete="dropDownList_creationCompleteHandler(event)" 
       labelField="lname" 
       change="comboBoxChange()"> 
+0

感謝を。私は他のコードを変更せずにこれを試してみました。ドロップダウンから名前を選択すると折れ線グラフのデータラインが消えました。この行の何かを置き換える必要はありますか?:getpool_ratings_yr1Result.token = pool_ratings_yr1Service.getpool_ratings_yr1( 'greenleaf'); –

+0

getpool_ratings_yr1Result.token = pool_ratings_yr1Service.getpool_ratings_yr1( 'greenleaf');あなたのチャートが始まるものです。あなたが名前が選択されるまで何かで始めるのをやめたくないなら、それをすべて一緒に取り出すことができます。名前を選択したときにデータを取得しない場合は、「import mx.controls.Alert;」を追加します。 comboBoxChange関数の中に "Alert.show(dropDownList.selectedItem)"を追加します。アラートに「オブジェクトオブジェクト」と表示された場合は、var selectedNameを変更します。String = dropDownList.selectedItem; var selectedName:String =ドロップダウンリスト。選択項目.lname;何が起こるか見る。 – Dom

+0

その最後の変更var selectedName:String = dropDownList.selectedItem.lname;差をつけた変更されたデータ行が表示されますが、ドロップダウンlnameの戻り値の型名である[object Playername_returntype]を示すポップアップボックスが表示されます。このボックスで大丈夫をクリックすると、一見良く見えます。このボックスを隠す方法はありますか?これはエキサイティングです。 –

関連する問題