2013/10/26

Flex:: Spark Listコントロールでアイテムをクリックするたびに選択・非選択のトグルにする方法

Flex 4.10:: Spark Listコントロールでアイテムをクリックする度に選択・非選択を切り替える方法を紹介します。(マルチ選択OFFの場合)

デフォルトでは、マルチ選択オフの場合アイテムを選択できますが、選択中のアイテムをキャンセル(非選択)することはできません。なので、クリックイベントを拾って、選択を解除するコードを書きます。

■ソースコード
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
<fx:Script>
 <![CDATA[
  private var lastIndex:Number = -1;
   
  protected function list_clickHandler(event:MouseEvent):void
  {
   if(list.selectedIndex == lastIndex)
   list.selectedIndex = -1;
    
   lastIndex = list.selectedIndex;
  }
 ]]>
</fx:Script>
 
 
<s:List id="list" width="100%" height="100%"
   itemRenderer="CustomItemRenderer"
   alternatingItemColors="[0xFFFFFF, 0xEFECCA]" 
   click="list_clickHandler(event)">
 <s:dataProvider>
  <s:ArrayList>
   <fx:Object firstName="Ken" lastName="Takeda" companyID="00001" phone="111-222-3333"/>
   <fx:Object firstName="Takashi" lastName="Yamamoto" companyID="00002" phone="444-555-6666"/>
   <fx:Object firstName="Noriko" lastName="Ijima" companyID="00003" phone="777-888-9999"/>
   <fx:Object firstName="Yuka" lastName="Nagase" companyID="00004" phone="000-111-2222"/>
  </s:ArrayList>
 </s:dataProvider>
</s:List>


http://stackoverflow.com/questions/586481/how-to-deselect-a-flex-datagrid-row-by-clicking-on-it

0 件のコメント:

コメントを投稿