2011-02-03 4 views
0

こんにちは私は、データグリッド内のインラインitemrendererの内側にあるチェックボックスからツールチップを削除しようとしていますが、ツールチップボックスは表示されますが、何も表示されません。私はツールチップボックスを完全に削除したい。ここにあるものはFlex - DataGridのインラインレンダラー内のチェックボックスでツールチップを無効にしますか?

<mx:DataGrid dataProvider="{s}" width="80%" id="sdg"> 
     <mx:columns> 
      <mx:DataGridColumn width="14" paddingLeft="2" paddingRight="2" showDataTips="false"> 
       <mx:itemRenderer> 
        <mx:Component> 
         <mx:CheckBox change="data.selected = !data.selected; dispatchEvent(new Event('clickCheckbox',true,true))" 
          selectedField="selected" toolTip="{null}"/> 
        </mx:Component> 

       </mx:itemRenderer> 
      </mx:DataGridColumn> 
</mx:columns> 
</mx:Datagrid> 

答えて

2

私は世界がこの要求を聞いてくれるのかどうか疑問に思っていますが、コードの開始点をお答えいただきありがとうございます。Androidのようにフレキシブルなバージョンを含めてください。私のために:

<?xml version="1.0" encoding="utf-8"?> 
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" 
       layout="absolute" 
       minWidth="955" 
       minHeight="600"> 
    <mx:Script> 
     <![CDATA[ 
      import mx.collections.ArrayCollection; 
     ]]> 
    </mx:Script> 
    <mx:DataGrid id="sdg" 
       dataProvider="{new ArrayCollection([{label:'selected',data:{selected:true}},{label:'test',data:{selected:true}},{label:'case',data:{selected:true}}])}" 
       width="50"> 
     <mx:columns> 
      <mx:DataGridColumn width="14" 
           paddingLeft="2" 
           paddingRight="2" 
           showDataTips="false"> 
       <mx:itemRenderer> 
        <mx:Component> 
         <mx:CheckBox change="data.selected = !data.selected; dispatchEvent(new Event('clickCheckbox',true,true))" 
            selectedField="selected" 
            label="{data.label}" 
            mouseOver="checkbox1_mouseOverHandler(event)"> 
          <mx:Script> 
           <![CDATA[ 
            protected function checkbox1_mouseOverHandler(event:MouseEvent):void 
            { 
             // TODO Auto-generated method stub 
             event.stopImmediatePropagation(); 
            } 
           ]]> 
          </mx:Script> 
         </mx:CheckBox> 

        </mx:Component> 

       </mx:itemRenderer> 
      </mx:DataGridColumn> 
     </mx:columns> 
    </mx:DataGrid> 
</mx:Application> 

私はそこにいくつかのダミーデータを追加し、それがツールチップを表示します前に、それはチェックボックスを切り捨てる作るために、グリッドのサイズを小さくしなければならなかった、そして私はあなたがそれはdoesnのそれらをゼロに上記の投稿何を検証しました仕事はありません。上の例では、mouseoverイベントをキャプチャしてToolTipManagerまで伝播しないようにしています。代わりに、ToolTipManager.enable = falseを呼び出して、必要に応じてtrueに戻すこともできます。

+0

ありがとうございます、stopImmediatePropagation()は私のために働いた! – heri0n

0

私はあなたのコードを試しましたが、私はツールチップを持っていません。 ToolTipManager.enabled = false;を試すことはできますが、すべてのツールチップをオフにします。

関連する問題