リストで項目が選択されないようにするにはどうすればよいですか? ディスプレイやその他の理由で使用したいとしましょう。
1 に答える
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
_ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~
次のように変更ハンドラで preventDefault を呼び出します:
<s:List id="list" dataProvider="{myCollection}" changing="list_changingHandler(event)"/>
リスト変更ハンドラー:
protected function list_changingHandler(event:IndexChangeEvent):void {
var item:Object = list.dataProvider.getItemAt(event.newIndex);
event.preventDefault();
}
event.preventDefault(); アイテムが選択されないようにします。前の行のコードにより、ArrayCollection を使用している場合に選択されるアイテムを取得できます。他のタイプのデータ リストまたはコレクションの場合は、若干異なる場合があります。
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~ 次のように、mouseDown イベントで stopPropagation メソッドを呼び出すことにより、アイテム レンダラーでアイテムが選択されないようにすることもできます。
<s:ItemRenderer xmlns:fx="http://ns.adobe.com/mxml/2009"
xmlns:s="library://ns.adobe.com/flex/spark" >
<s:CheckBox id="enabledCheckbox" mouseDown="event.stopPropagation();"/>
</s:ItemRenderer>
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
_ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~ @RIAstarは、ItemRendererでset enabledをfalseに設定すると述べました。