我有一個高級數據網格,其中列爲狀態,已啓用,所有者,名稱。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
這很有意義,因爲工具提示永遠不會爲其他狀態類型創建。只需要在破壞工具提示中檢查它。我已經更新了這個例子。 –