Flex - Отключить всплывающую подсказку на флажок внутри встроенного рендера на DataGrid? - PullRequest
0 голосов
/ 03 февраля 2011

Привет! Я пытаюсь удалить всплывающую подсказку из флажка внутри встроенного средства визуализации элементов в сетке данных, но я все еще получаю окно всплывающей подсказки, но в нем ничего нет.Я хочу, чтобы окно всплывающей подсказки было полностью удалено.Вот что у меня есть

<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 ]

2 голосов
/ 03 февраля 2011

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

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

0 голосов
/ 03 февраля 2011

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

...