【问题标题】:Flex - Disable tooltip on checkbox inside inline renderer on DataGrid?Flex - 在 DataGrid 上的内联渲染器内的复选框上禁用工具提示?
【发布时间】:2011-06-20 19:28:24
【问题描述】:

您好,我正在尝试从数据网格中的内联 itemrenderer 内的复选框中删除工具提示,但我仍然得到工具提示框,但其中没有任何内容。我希望完全删除工具提示框。这是我所拥有的

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

【问题讨论】:

    标签: apache-flex datagrid checkbox tooltip itemrenderer


    【解决方案1】:

    感谢代码起点让回答这些问题变得更加容易,尽管我怀疑世界会听到这个请求,但请包括您使用的 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。

    【讨论】:

      【解决方案2】:

      我尝试了您的代码,但没有工具提示。您可以尝试ToolTipManager.enabled = false;,但它会关闭所有工具提示。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2015-11-21
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多