Кто-нибудь знает, как настроить внешний вид всплывающей подсказки диаграммы asp.net? - PullRequest
0 голосов
/ 24 августа 2010

Я хочу настроить вид всплывающей подсказки диаграммы asp.net.У кого-нибудь есть предложения, с чего начать искать?

Ответы [ 2 ]

1 голос
/ 24 августа 2010

Сама подсказка, вероятно, реализована через базовый HTML. Если вы хотите более изощренную подсказку, загляните в плагины всплывающей подсказки jQuery.

0 голосов
/ 13 ноября 2015

Есть лучший способ сделать это. Сначала создайте две функции JavaScript (назовем их f1 и f2). Эти две функции будут использоваться для реагирования на события мыши. В этом примере функция f1 получает событие, а также строку, отображаемую во всплывающей подсказке. Функция f2 скрывает всплывающую подсказку.

function f1(e, str) {
    tooltip = document.getElementById("toolTip");
    tooltip.innerHTML = str;
    if (!e) var e = window.event;
    var posx = 0;
    var posy = 0;
    if (e.pageX || e.pageY) {
        posx = e.pageX;
        posy = e.pageY;
    }
    else if (e.clientX || e.clientY) {
        posx = e.clientX + document.body.scrollLeft
            + document.documentElement.scrollLeft;
        posy = e.clientY + document.body.scrollTop
            + document.documentElement.scrollTop;
    }
    posy = Math.round(posy);
    posx = Math.round(posx);
    tooltip.style.top = posy + 'px';
    tooltip.style.left = posx + 'px';
}
function f2() {
    document.getElementById("toolTip").innerHTML = "";
}

Теперь для всплывающей подсказки мы создадим div на странице .aspx следующим образом. Делает его позиционирование абсолютным, чтобы мы могли разместить его в любом месте на странице. Вы можете добавить все настройки, которые вы хотите, в div, но в этом случае мы просто покажем некоторый текст:

<div style="position:absolute; background-color:White; color:Black; id="toolTip"></div>

Теперь в своем коде вы можете связать элементы диаграммы asp.net с событиями, которые будут запускать функции javascript f1 и f2. Например, мы можем показать всплывающую подсказку, когда курсор мыши находится над точкой данных, и скрыть ее, когда она покидает точку данных.

int count = graph.Series["Default"].Points.Count;
for (int i = 0; i < count; i++)
{
    string toolTipText = "My Text";
    graph.Series["Default"].Points[i].MapAreaAttributes =   "onmouseover=\"f1(event, '" + toolTipText + "')\" onmouseout=\"f2()\"";
}

Если требуется задержка перед отображением всплывающей подсказки, вы можете добавить задержку в JavaScript.

...