2011-02-03 4 views
0

Привет Я пытаюсь удалить всплывающую подсказку из флажка внутри встроенного itemrenderer в datagrid, но я все еще получаю всплывающую подсказку, но в ней ничего нет. Я хочу, чтобы панель всплывающей подсказки была полностью удалена. Вот что у меня есть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

Благодарим за отправную точку кода, чтобы ответить на эти вопросы намного проще, в будущем, хотя я сомневаюсь, что мир услышит этот запрос, пожалуйста, включите версию Flex, с которой вы работаете, поскольку, как и в 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> 

Я добавил некоторые фиктивные данные там и должны были уменьшить размер сетки, чтобы сделать его усечение флажков, прежде чем она будет показывать всплывающую подсказку, то я проверил, что вы писали выше, что обнулять их Безразлично Не работай. Выше я захватываю событие mouseover и останавливаю его от распространения до ToolTipManager, в качестве альтернативы вы можете вызвать ToolTipManager.enable = false, а затем установить значение true, когда это необходимо.

+0

спасибо, stopImmediatePropagation() работал для меня! – heri0n

0

Я пробовал ваш код, и у меня нет всплывающей подсказки. Вы можете попробовать ToolTipManager.enabled = false;, но он отключит все всплывающие подсказки.