我有一个高级数据网格,其中列为状态,已启用,所有者,名称。Flex中高级数据网格工具提示
我将获取“适用”,“成功”或“失败”状态的数据。 当状态即将到达时,我必须在将鼠标移到那里时显示工具提示。你能帮我解决一下怎么做吗?
我有一个高级数据网格,其中列为状态,已启用,所有者,名称。Flex中高级数据网格工具提示
我将获取“适用”,“成功”或“失败”状态的数据。 当状态即将到达时,我必须在将鼠标移到那里时显示工具提示。你能帮我解决一下怎么做吗?
你需要创建一个GridItemRenderer,这里是一些示例代码到您的自定义GridItemRenderer的脚本块内建成:
import mx.controls.ToolTip;
import mx.core.IUIComponent;
import mx.managers.ToolTipManager;
public var applicableToolTip:ToolTip;
private function createToolTip(event:Event):void {
if (data["status"] == "applicable") {
var stagePoint:Point = event.target.localToGlobal(new Point(event.target.x, event.target.y));
applicableToolTip = ToolTipManager.createToolTip(
"Your applicable message here",
stagePoint.x,
stagePoint.y,
null,
IUIComponent(event.currentTarget)
) as ToolTip;
}
}
private function destroyToolTip(event : Event) : void {
if (applicableToolTip != null)
ToolTipManager.destroyToolTip(applicableToolTip);
}
然后在渲染器中的标签字段添加属性rollOver="createToolTip(event)"
和rollOut="destroyToolTip(event)"
如果不需要TooTip Manager
,则可以使用dataTip
函数来构造消息并将displayToolTip
列的属性设置为true
。
如果您的工具提示在您的xml数据中,您可以在DataGridColumn
上指定dataTipField
。
例如:
var col:DataGridColumn = new DataGridColumn();
col.dataTipField = "@statusTooltip";
col.showDataTips = true;
如果您的XML项目看起来像:
<item id="..." status="applicable" statusTooltip="My tootlip text"/>
垫: - !applicableToolTip抛出空对象引用错误时的状态不是 '适用'。 – Ravikanth
这很有意义,因为工具提示永远不会为其他状态类型创建。只需要在破坏工具提示中检查它。我已经更新了这个例子。 –