【问题标题】: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;,但它会关闭所有工具提示。