Подсказка для расширенного столбца сетки данных в Flex - PullRequest
0 голосов
/ 01 декабря 2011

У меня есть расширенная сетка данных со столбцами: статус, включено, владелец, имя.

Я получу данные для статуса «применимо», «успех» или «сбой».Когда статус становится «применимым», я должен показать подсказку, когда наведу курсор мыши.Не могли бы вы помочь мне, как это сделать?

Ответы [ 3 ]

3 голосов
/ 01 декабря 2011

Вам необходимо создать 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)"

1 голос
/ 28 апреля 2014

Если ваша подсказка находится внутри ваших данных XML, вы можете указать dataTipField в DataGridColumn.

Например:

var col:DataGridColumn = new DataGridColumn();
col.dataTipField = "@statusTooltip";
col.showDataTips = true;

, если ваш элемент XML выглядит примерно так:

<item id="..." status="applicable" statusTooltip="My tootlip text"/>
1 голос
/ 14 июня 2012

Если TooTip Manager не требуется, то у вас может быть функция dataTip, которая создает сообщение и устанавливает для свойства displayToolTip столбца значение true.

...