• 締切済み

DataGridでCTRLキーを押さずに複数選択

Flexについての質問です。 DataGridでCTRLキーを押さずに複数選択する方法を教えてください。 具体的にはDataGridで以下のような機能を実現する方法を教えてください。 (1)DataGridである要素を選択した状態で、マウスで別の要素をクリックすると両方の要素が選択されるようになる。 (2)すでに選択済みの要素をクリックするとその要素が解除されるようになる。

みんなの回答

  • todemo
  • ベストアンサー率80% (4/5)
回答No.1

配列で管理すれば良いと思いますよ。 ただ、リスト選択時に選択が全解除されるのでチカチカします。 (別途イベントを無効にする処理を入れる必要があります。) あとはアイテムレンダラーを使用してそっちで個別対応するのでも良いでしょうね。 private var pHistoryList:Array = []; private function onItemClickHandler(event:ListEvent):void { var flg:Boolean = true; for (var i:int=0; i<pHistoryList.length; i++) { if ( pHistoryList[i] == event.rowIndex ) { pHistoryList.splice(i, 1); flg = false; break; } } if (flg == true) pHistoryList.push(event.rowIndex); cDataGrid.selectedIndices = pHistoryList.concat(); }

関連するQ&A