2011-12-19 2 views
1

Я пытаюсь выяснить оптимальный способ выполнения, если это возможно, отношения между деталями между маркерами в линейной диаграмме (Microsoft Charting) и GriView при наведении курсора мыши.ASP.Net, Как использовать onmouseover Microsoft Chart Control для заполнения GridView

Я нашел пример, когда это делается с событием Chart_Click, используя UpdatePanel и AsyncPostBackTrigger. Тем не менее, я озадачен тем, что делаю это с помощью события onMouseOver элемента управления Chart.

Мне нужно изменить GridView на основе значения в маркере на MouseOver.

Спасибо заранее!

ответ

0

Это можно сделать только с помощью javascript. Заверните управления диаграммой внутри DIV и использовать MouseMove событие, чтобы обновить панель обновления:

<div onmousemove="FillGrid()">... (chart control goes here) </div> 
<script type="text/javascript"> 
function FillGrid() { 
    if (!this.filled) { 
     this.filled = true; 
     __doPostBack('<%= UpdatePanel1.ClientID %>', ''); 
    } 
} 
</script> 
<asp:UpdatePanel runat="server" ID="UpdatePanel1" OnLoad="UpdatePanel1_Load"> 
    <ContentTemplate> 
    ... (grid goes here) 
    </ContentTemplate> 
</asp:UpdatePanel> 

В своем коде позади:

protected void UpdatePanel1_Load(object sender, EventArgs e) 
{ 
    // fill grid code 
} 
+0

Спасибо за réponse! Я должен быть в состоянии получить значение маркера от объекта-отправителя, а затем, правильно? – user1106591

+0

@ user1106591 В коде позади метода 'UpdatePanel1_Load' вы должны иметь доступ к любому свойству элемента управления диаграммы. –

+0

Хорошо, спасибо. Когда событие Click было запущено, были использованы ImageMapEventArgs, а e.PostBackValue содержит значение маркера, которое было нажато. Как определить, что значение маркера находится в UpdatePanel1_Load, когда мышь нависает над ним? [UPDATE] Чтобы уточнить, в диаграмме есть несколько маркеров, я хочу обновить сетку на основе текущего выбранного значения маркера. – user1106591

Смежные вопросы