flex comboxについて

2011/07/13

flex comboxってのはhtmlで言うところのselectタグ。

単純に表示だけ

  1. <s:ComboBox>
  2.   <s:ArrayCollection>
  3.     <fx:String>AK</fx:String>
  4.     <fx:String>AL</fx:String>
  5.     <fx:String>AM</fx:String>
  6.   </s:ArrayCollection>
  7. </s:ComboBox>

s:ComboBoxの値を渡す(表示する内容と値は別)

見えるもの(labelの値)と実際に渡したい値(dataの値)は別ってヤツ。

s:ComboBoxの記述

  1. <s:ComboBox id="ComboBox">
  2.   <s:dataProvider>
  3.     <s:ArrayCollection>
  4.       <s:source>
  5.         <fx:Object label="表示する値A" data="渡す値A"/>
  6.         <fx:Object label="表示する値B" data="渡す値B"/>
  7.       </s:source>
  8.     </s:ArrayCollection>
  9.   </s:dataProvider>
  10. </s:ComboBox>

受け取る側(script側)の記述

sample = ComboBox.selectedItem.data;
※「id」が「ComboBox」で、選択されたアイテムの「dataの値」を取得。

s:ComboBoxを変更する(dataの値を使う)

HTMLで言うところの「selected=selected」とする。
「○○○」をクリックしたら「comboBox」の選択されているモノを変更したい。

  1. var ac:ArrayCollection = ComboBox.dataProvider as ArrayCollection;
  2. var value:String = "○○○";
  3. for (var iCnt:int=0 ; iCnt<ac.length ; iCnt++)
  4. {
  5.   if(ac[iCnt]['data'] == value){
  6.     ComboBox.selectedIndex = iCnt;
  7.     return;
  8.   }
  9. }

プチメモ

1行目の「ComboBox.dataProvider as ArrayCollection」は、「id=ComboBox」の中にある「dataProvider」ってヤツを「ArrayCollection」にする。

3行目で「ac」がある分ループ。
5行目で「ac」の「iCnt」番目にある「data」が「value」と等しいかチェック。
6行目で「id=ComboBox」の「iCnt」番目が選択されていることにする。

新着(ニュース関連以外)

2018-07-26
年賀状で「新春」とか書くけど・・・何故なんだろうと8月を目前にした今、疑問に思った。
2018-05-16
PHPで画像のヘッダ情報(?)の「Orientation」を元に画像回転させたい。
2018-03-05
Android Studioをインストール。エミュレータを軽くするトコまで終わらせたかったけど、挫折した。
2018-02-23
プッシュ通知について調べてた時にでてきたServiceWorker。そのServiceWorkerについてのメモ。
2017-12-13
jqueryで取得したDOM要素をオブジェクトじゃなくて、配列で受け取りたい