我发现了问题。这正是 flex 的错误。当 DataGrid 的 dataProvider 发生变化时,渲染器被缓存中的其他渲染器替换,但工具提示仍然来自之前的渲染器,现在是不可见的。我提出一个解决方法。我刚刚为渲染器覆盖了工具提示设置器以检查其可见性。
<mx:AdvancedDataGrid id="secoind" left="300" top="20" width="200" height="200" dataProvider="{dta}" showDataTips="false">
<mx:groupedColumns >
<mx:AdvancedDataGridColumnGroup >
<mx:AdvancedDataGridColumn dataField="name" headerText="Name" showDataTips="false">
<mx:itemRenderer>
<fx:Component>
<mx:AdvancedDataGridItemRenderer>
<fx:Script>
<![CDATA[
override public function set toolTip(value:String):void
{
super.toolTip = visible ? value : null;
}
]]>
</fx:Script>
</mx:AdvancedDataGridItemRenderer>
</fx:Component>
</mx:itemRenderer>
</mx:AdvancedDataGridColumn>
<mx:AdvancedDataGridColumn dataField="text" headerText="Text" showDataTips="true"/>
</mx:AdvancedDataGridColumnGroup>
</mx:groupedColumns>
</mx:AdvancedDataGrid>