デフォルトでは、マルチ選択オフの場合アイテムを選択できますが、選択中のアイテムをキャンセル(非選択)することはできません。なので、クリックイベントを拾って、選択を解除するコードを書きます。
■ソースコード
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 件のコメント:
コメントを投稿